0

我需要在Array类中添加一些原型,在本机 javascript 中我可以执行以下操作

 var myArray = Array;
 myArray.prototype.myMethod = function(){}
 var testArray = new myArray();
 testArray.contains();

但现在我需要通过节点 js 模块执行此操作并将其导出 myArray为类,以便从中制作一些对象,我该怎么做?

4

1 回答 1

1

如果您直接从模块内添加到 Array 原型,则主范围内的 Array 可以访问它

要查看这一点,请将以下行放入foo.js

Array.prototype.foo = "bar";

然后启动repl并运行

$ node
> Array.prototype.foo
undefined // <-- Array normally doesn't have foo
> require('./foo')
{}
> Array.prototype.foo
'bar' // <-- note how it's defined now
> [].foo
'bar' // <-- as expected

您可以对其他基本对象执行相同的操作,例如Number

于 2013-06-16T23:51:46.743 回答