JavaScript中如何区分并运用bind、call、apply方法?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1158个文字,预计阅读时间需要5分钟。
`使用 call 的基本方法示例:var ary=[12, 23, 34];ary.slice.call();`
以上两行简单代码的执行过程为:ary 这个实例通过原型链的查找机制,找到了 Array.prototype 上的 slice 方法,并执行了这个方法。在 slice 方法执行时,通过 call 函数,slice 方法接收了当前数组对象(ary)作为它的 this 对象,并调用 slice 方法,不传入任何参数,从而返回了原数组的一个浅拷贝。
call的基本使用
var ary = [12, 23, 34]; ary.slice();
以上两行简单的代码的执行过程为:ary这个实例通过原型链的查找机制找到Array.prototype上的slice方法,让找到的slice方法执行,在执行slice方法的过程中才把ary数组进行了截取。
注意:slice方法执行之前有一个在原型上查找的过程(当前实例中没有找到,再根据原型链查找)。
本文共计1158个文字,预计阅读时间需要5分钟。
`使用 call 的基本方法示例:var ary=[12, 23, 34];ary.slice.call();`
以上两行简单代码的执行过程为:ary 这个实例通过原型链的查找机制,找到了 Array.prototype 上的 slice 方法,并执行了这个方法。在 slice 方法执行时,通过 call 函数,slice 方法接收了当前数组对象(ary)作为它的 this 对象,并调用 slice 方法,不传入任何参数,从而返回了原数组的一个浅拷贝。
call的基本使用
var ary = [12, 23, 34]; ary.slice();
以上两行简单的代码的执行过程为:ary这个实例通过原型链的查找机制找到Array.prototype上的slice方法,让找到的slice方法执行,在执行slice方法的过程中才把ary数组进行了截取。
注意:slice方法执行之前有一个在原型上查找的过程(当前实例中没有找到,再根据原型链查找)。

