javascript - 带有原型(prototype)的面向对象 JavaScript

标签 javascript

我试图更清楚地理解这一点。当我扩展修改数组原型(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/

相关文章:

javascript - 如何避免node.js自然地分割带有特殊字符的单词

javascript - Angular 逆 $watch

javascript - 在 Google map 上使用本地 MySQL 数据库和 PHP 和 JavaScript

javascript - 如何在没有数据标记的情况下对 Accordion 使用 Bootstrap 3 Collapse?

javascript - HTML 元素不会在两个相邻 float 的 div 下

javascript - jQuery 中是否有 fade + disable 插件?

javascript - p5.j​​s 访问各个像素值

javascript - ';'预期的 。在函数 p5.js Javascript 中

javascript - 获取隐藏输入中带有逗号分隔字符串的输入按钮的值

javascript - Immutable.js List() 和 List.of() 之间的区别?