我试图更清楚地理解这一点。当我扩展修改数组原型(prototype)内的每个函数时,调用 func(this[i]) 如何调用传递到 Array.each 的函数。
由于函数定义是function(func),func是参数。
是否 func = function(i) {alert(i) }
,因此 func(this[i]) = { function(this[i]) {alert(this[i]) ]) }
?
Array.prototype.each = function(func) {
for (var i=0; i<this.length; i++) {
func(this[i]);
}
};
[1,2,3].each(function(i) {
alert(i);
});
最佳答案
请注意,JS 中的每个函数只是一个对象。因此,传递给 each
函数的 func
参数是一个对象,它是一个函数。
因此,调用 func(aParam)
您将获得 func
参数(实际上是一个函数),并通过相应的参数调用它。
关于javascript - 带有原型(prototype)的面向对象 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14362499/