我正在寻找正确的方法在JavaScript中将“静态”方法(类级方法)添加到对象及其所有子级中。扩展对象的类方法 - 正确的方法
我试图做的事:
Object.prototype.myMethod = function() { ... };
// actually I need only class level method
// but it creates instance method too
我越来越想:
function MyClass() {};
var mc = new MyClass();
mc.myMethod();
但我也收到骚扰:
mc.someProperty = 'val';
for (var k in mc) {
console.log(k);
}
// => myMethod (this is unwanted)
// => someProperty
如何只添加类的方法进对象和所有它的孩子没有添加实例方法的?
使用'Object.keys()'获取密钥。 'for..in'不再需要... – 2012-01-11 22:59:42
这些被称为实例方法。一个静态函数是Object.staticFn = function(){...};'。 – 2012-01-11 23:00:44