【问题标题】:Can I limit the scope of Javascript's Array.prototype extensions?我可以限制 Javascript 的 Array.prototype 扩展的范围吗?
【发布时间】:2012-05-30 11:03:04
【问题描述】:

我想限制扩展数组的范围

Array.prototype.myExtension = function() { 
// do something;
// return something;
};

到当前的 JS 模块。这个扩展在其他模块中应该是不可见的。

【问题讨论】:

  • 不,你不能,出于所有意图和目的,这与创建全局变量相同

标签: javascript arrays prototype


【解决方案1】:

解决方法是在另一个作用域(iframe 或 web worker)中对数组进行沙箱处理,或者一般定义方法并使用数组调用(或应用)对象。

modulenamespace.myExtension = function() { 
// do something;
// return something;
}


modulenamespace.myExtension.call(array)

【讨论】:

    猜你喜欢
    • 2015-09-20
    • 1970-01-01
    • 2021-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-14
    • 2012-02-10
    相关资源
    最近更新 更多