简述同步和异步的区别
同步就是发出请求后,等到服务器返回结果,才继续执行下一步,异步则是不等服务器返回,直接并行执行下一步,服务器返回结果会通过处理回调函数执行
数组去重(手写代码)
let arr=['1','2','2','3','1','4']
let s = new Set(arr);
let arr2 = Array.from(s);
console.log(arr2)
在javascript中什么是伪数组,如何将伪数组转化为标准数组
像调用getElementsByTagName,document.childNodes之类的,它们都返回 NodeList对象都属于伪数组
使用Array.prototype.slice.call(fakeArray)将数组转化为真正的Array 对象
javascript中callee和caller的作用
caller
caller返回一个函数的引用,这个函数调用了当前的函数。
使用这个属性要注意:
1 这个属性只有当函数在执行时才有用
2 如果在javascript程序中,函数是由顶层调用的,则返回null
callee
callee返回正在执行的函数本身的引用,它是arguments的一个属性
使用callee时要注意:
1 这个属性只有在函数执行时才有效
2 它有一个length属性,可以用来获得形参的个数,因此可以用来比较形参和实参个数是否一致,即比较arguments.length是否等于arguments.callee.length
3 它可以用来递归匿名函数。