我正在尝试在所有对象上创建一个方法:
可以有这个结果:
var obj = {'first_name': 'Alfred', 'last_name': 'Huang', 'age': 27, };
print(obj.myKeys()); // echos: ['age', 'first_name', 'last_name'];
我编写了如下代码(使用书中的技巧):
Function.prototype.method = function(name, func) {
if(!this.prototype[name]) {
this.prototype[name] = func;
}
};
Object.method('myKeys', function() {
var i, result = [];
for(i in this) {
if(this.hasOwnProperty(i)) {
result.push(i);
}
}
return result.sort();
});
该方法适用于我的计算机,但它似乎与其他组件发生碰撞,因此甚至无法在小提琴中运行,jQyery
库也会受到影响。
那怎么回事?任何人都可以指出并告诉我如何正确使用它,我只想创建一个keys
函数来获取对象的排序键。