我想知道我们如何才能正确绑定"这个"在原型上创建方法时的一个Object实例:
示例:
Array.prototype.myPush = function (element) {
//call push on the instance of Array that calls this method
}
function push(array, element) {
array[array.length] = element;
}
我们怎样才能让第一个像第二个一样工作?
答案 0 :(得分:2)
在原型上调用方法时,this
已绑定到调用该方法的对象。
Array.prototype.myPush = function(element) {
this.push(element);
};
var arr = [1, 3, 4];
arr.myPush(10); // Call method on proto
console.log(arr);
function push(array, element) {
array.myPush(element); // Same call from function
}
push(arr, 'Hello');
console.log(arr);