绝大部分人会告诉你使用length属性,然而你懂的。
<script type="text/javascript">
var a = [];
a[50] = 50;
alert(a.length);
</script>
得到结果51
<script type="text/javascript">
var a = [];
a['age'] = '18';
a['sex'] = 'Male';
a['site'] = 'http://www.qSyz.net';
alert(a.length);
</script>
得到结果0
<script type="text/javascript">
var a = {'age':30,'sex':'male'};
alert(a.length);
</script>
得到结果为undefined
所以length属性只是用语简单的数组,以及二维的对象结构,不具备通用性,还是自己封装吧。
function count(o){
var t = typeof o;
if(t == 'string'){
return o.length;
}else if(t == 'object'){
var n = 0;
for(var i in o){
n++;
}
return n;
}
return false;
}