对于功能我可以这样做:
uniqueInteger.counter = 0;
function uniqueInteger() {
return uniqueInteger.counter++; // Increment and return counter property
}
我也可以用对象方法吗?
答案 0 :(得分:0)
对象方法是函数。您可以为任何功能执行此操作:
var a = function () { }
a.bar = "f";
for(property in a) {
console.log(a[property]);
}
// outputs f
但是,请注意"自己的财产"在javascript中有一个特定的含义,强烈建议在迭代属性时检查属性是否是对象自己的属性(例如忽略继承的属性)。
o = new Object();
o.prop = 'exists';
o.hasOwnProperty('prop'); // returns true
o.hasOwnProperty('toString'); // returns false
o.hasOwnProperty('hasOwnProperty'); // returns false
答案 1 :(得分:0)
是的,你可以,因为functions are first class objects:
在JavaScript中,函数是第一类对象,因为它们可以像任何其他对象一样具有属性和方法。它们与其他对象的区别在于可以调用函数。简而言之,它们是Function个对象。
var object = {
x: function () { return this.x.value; }
};
object.x.value = 42;
document.write(object.x());