我正在尋找正確的方法在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