第十五天
2019-12-09 本文已影响0人
流觞小菜鸟
call、apply、bind方法的作用分别是什么?有什么区别?
call()和apply()的区别就在于,两者之间的参数。
call()在第一个参数之后的 后续所有参数就是传入该函数的值。apply() 只有两个参数,第一个是对象,第二个是数组,这个数组就是该函数的参数。
bind() 方法和前两者不同在于:
bind() 方法会返回执行上下文被改变的函数而不会立即执行,而前两者是直接执行该函数。他的参数和call()相同。
在JavaScript中什么是伪数组?如何将伪数组转化为标准数组
伪数组就是一个含有length属性的json对象。它是按照索引的方式存储数据。它并不具有数组的一些方法,只能通过Array.prototype.slice转换为真正的数组,并且带有length属性的对象。
常见的伪数组------
arguments
NodeList(querySelector)、HTMLCollection (getElementByTagName)
伪数组转换-------
var arr=Array.prototype.slice.call(obj)
consolg.log(arr)
JavaScript中callee和caller的作用
caller是javascript函数类型的一个属性,它引用调用当前函数的函数
callee则不是函数对象的属性,它是函数上下文中arguments对象的属性