我想在 javascript 中向对象类添加一个名为 size 的新方法。
var obj = {here: {is: "an"}, object: 2};
object.prototype.size = function() {
var obj=this;
var size = 0, key;
for (key in obj) {
if (obj.hasOwnProperty(key)) size++;
}
return size;
};
console.log(obj.size());
obj是typeof对象,我为对象添加新函数为object.prototype.size=function(){}
但是当我运行它时,Firefox 给我错误:
ReferenceError: object is not defined (line 10)
您可以在此处查看代码:( http://jsbin.com/cisasewo/1/edit )
当我将方法更改为:
Object.prototype.size = function() {
var obj=this;
var size = 0, key;
for (key in obj) {
if (obj.hasOwnProperty(key)) size++;
}
return size;
};
当它调用时,它只是给我函数而不是函数大小的答案? 为什么?如何在 JavaScript 中将尺寸函数添加到对象类?
最佳答案
您的第二个实现是正确的。你只需要改变
console.log(obj.size)
至
console.log(obj.size())
关于javascript - 如何在javascript中向根类对象添加新方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24318928/