1.为什么用for in而不用for,for in的话还得用hasOwnProperty,这不是麻烦了? 用for in 有什么好处?
2.为什么 用 & 而不是用常用 && 操作符?
执行下面三段代码,便会明白一些区别
var array=['a'];
Array.prototype.test=function(){};
array.loady = 'ask';
/*标准的for循环*/
for(var i=0;i<array.length;i++){
alert(i);
}
//////
var array=['a'];
Array.prototype.test=function(){};
array.loady = 'ask';
for(var i in array){
alert(i);
}
///////
var array=['a'];
Array.prototype.test=function(){};
array.loady = 'ask';
for(var i in array){
if(!array.hasOwnProperty(i)){
continue;
}
alert(i);
}参照javascript权威指南的:使用for、in循环可以在循环体遍历对象中所有的可枚举的属性,也就是包括自有属性和继承属性,把属性名称赋值给循环变量;而hasOwnProperty方法可以用来检测给定的名字是否是对象的自有属性,通过以上两步筛选,可以筛选出对象具有的自有属性,也就是期望的格式object:{src:xxx}.我是新手,以上是我自己推断的,如有错误,见谅