面试

第十五天

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对象的属性

上一篇 下一篇

猜你喜欢

热点阅读