2010-01-17 70 views
1

例如,我如何知道myObject对象文字包含两个项目?如何知道对象字面量包含多少项?

var myObject = { 
    item1 : "blablabla", 
    item2 : "blablabla 
}; 
+0

重复:http://stackoverflow.com/questions/1345939/how-do-i-count-javascript-objects-attributes(见哈伊姆evgi的答案) – kennytm 2010-01-17 07:36:44

+0

稀里糊涂的标题,不过, oki – WeWillFlashYou 2010-01-17 07:47:12

回答

0

如果没有覆盖的myObject原型,

var count = 0; 
for (var k in myObject) ++ count; 
return count; 

否则,一看便知哈伊姆的链接。

+0

从原型链继承的属性怎么样? – 2010-01-17 07:41:13

+1

'for ... in'语句也迭代原型链中的属性,我建议您检查属性是否存在*物理* myObject.hasOwnProperty(k);'或'Object .prototype.hasOwnProperty.call(myObject,k);'为偏执狂:) – CMS 2010-01-17 07:43:45

+0

更新为偏执狂。 :p – kennytm 2010-01-17 07:46:08

0
var n = 0 
for (var i in o) ++n 
alert(n)