【问题标题】:Ways to put a method into array in javascript在javascript中将方法放入数组的方法
【发布时间】:2019-04-09 15:40:43
【问题描述】:

据我所知,我们可以像这样在数组中放置一个方法:

var someArray = [];
someArray.newFunction = function() {
alert("hello");}

是否有任何可能的方法(除了上述方法)将方法放入数组中?

【问题讨论】:

  • arr.push( function(){} )?
  • 你想解决什么问题?
  • 函数只是对象。您可以将它们放入数组中,就像将其他任何东西放入数组中一样。
  • 该方法是数组的方法,不是数组成员,即不包含在数组的索引内容中。
  • @Teemu 实际上这就是我一直想知道的。期待有人能准确地回复您的评论。谢谢。

标签: javascript arrays


【解决方案1】:

除了直接赋值(你正在做的事情)之外,你还可以使用Object.assign 将多个属性/方法分配给一个特定的数组。

还可以通过Array.prototype 将方法添加到所有 数组(通过继承)。您应该避免在库中这样做,但在您自己的应用程序代码中,可以通过适当的测试来解决问题。如果你这样做了,重要的是通过添加Object.defineProperty 来使属性不可枚举

Object.defineProperty(Array.prototype, "newMethod", {
    writable: true,
    configurable: true,
    value() {
        // ...code here...
    }
});

【讨论】:

    猜你喜欢
    • 2011-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-27
    相关资源
    最近更新 更多