对象方法可以有自己的属性
Can object method have own propertis?
对于函数,我可以这样做:
uniqueInteger.counter = 0;
function uniqueInteger() {
return uniqueInteger.counter++; // Increment and return counter property
}
我也可以使用对象方法执行此操作吗?
是的,你可以,因为函数是第一类对象:
在 JavaScript 中,函数是一等对象,因为它们可以像任何其他对象一样具有属性和方法。它们与其他对象的区别在于可以调用函数。简而言之,它们是函数对象。
var object = {
x: function () { return this.x.value; }
};
object.x.value = 42;
document.write(object.x());
对象方法是函数。您可以对任何函数执行此操作:
var a = function () { }
a.bar = "f";
for(property in a) {
console.log(a[property]);
}
// outputs f
但是,请注意,"own property"在javascript中具有特定的含义,因此强烈建议在遍历属性时检查属性是否是对象自己的属性(例如,忽略继承的属性)。
o = new Object();
o.prop = 'exists';
o.hasOwnProperty('prop'); // returns true
o.hasOwnProperty('toString'); // returns false
o.hasOwnProperty('hasOwnProperty'); // returns false
相关文章:
- 消隐数组元素是否生成自己的属性
- 更好的设计,以便从对象的方法引用自己的对象的属性
- 对象方法可以有自己的属性
- 从 2 个得分最高的节点列表中获取 3 个节点(我自己设置的属性)
- 使用下划线检查自己的属性
- 在其自己的图像之后显示 Alt 属性
- 由 dojo.declare 创建的对象如何访问自己的属性
- 在自己的js中访问Google Analytics js属性
- 如何在 SignalR 中返回具有自己的类属性的对象
- 挖空添加我自己的数据绑定属性,如 With
- 函数访问函数中自己的对象属性
- 主干忽略 idAttribute 并设置自己的属性
- 可以将对象属性转换为自己的对象
- 将 jQuery 用于自己的属性
- 向DOM对象添加自定义(您自己的)属性
- 我如何制作自己的属性(HTML5)
- 对象在初始化时引用其自己的属性
- 我们可以在html元素中使用自己的属性来存储值吗?
- 用对象自己的属性初始化对象属性
- 对象返回自己的属性并保留方法