各位大神,小弟有一事不明,恳请各路大神不吝赐教,请看代码:
// 类数组
const arrayLike = {
length: 1,
0: 'a',
1: 'b',
2: 'c',
3: 'd',
push: Array.prototype.push
};
为什么按照这样子可以调用Array.prototype.push
方法,一般情况下不都是使用Array.prototype.push.call()
或者Array.prototype.push.apply()
方法进行调用吗?
还有就是为什么按照上述代码arrayLike.push()
方法添加元素可以添加到arrayLike
对象中去。而我使用arrayLike[Array.prototype.push]
调用push方法则会报错。
小弟很是头大,烦请各位大神赐教,小弟在此谢过了
咱一步一步来:
最后的区别无非就是一开始那个
myfunc
是你自定义的,而Array.prototype.push
是内置的、对你来说是黑盒的而已。事实上我们完全也可以实现类似的自定义函数:到此为止,我们就已经实现了一个自定义的
push
方法了。P.S. 还剩一个知识点,就是
this
指向的问题,但跟本题无关,这属于 JS 基础知识范畴内的了。