我想知道是否有人也许能帮助我的东西,我认为它相当简单:扩展原始的JavaScript类型
基本上我要扩展的所有数据类型(包括固有类型)的原型,允许一些种自定义功能,可以考虑:
var x = "some string";
var y = 101;
x = "some other value";
y++;
x.onChange();
y.onChange();
这是基本的想法IM后,但真的是我想要的是居然有的onChange(在这个例子中)是不同的,所以对实际变量的新功能(而不是标准原型扩展),即:
x.onChange = function() {
alert("x.onChange");
}
y.onChange = function() {
alert("y.onChange");
}
这似乎不起作用,但我必须失去一些很简单的东西没有?我的意思是我可以扩展所有的对象和类型,并添加新的功能...不是吗?
任何帮助将不胜感激!
请永远不要做:http://erik.eae.net/archives /2005/06/06/22.13.54/ – 2011-02-10 12:25:42
@insin:FWIW,ECMA-262第5版的defineProperty()可以通过定义不可枚举的属性来解决特定的投诉。所以可以使用`Object.prototype.hasOwnProperty()`。 – 2011-02-10 13:08:48