JavaScript中for和for-in的区别;访问对象的属性.和[]的区别

时间:2022-08-25 15:17:14

一、for和for-in

for多用于遍历数组;for-in多用于遍历对象的的属性;


二、访问对象的属性.与[]

1.用点号访问对象的属性时,objectName.properName;

此时properName需要是确定的属性名,而不能是变量。如果是变量,在执行时,会将变量名当做是对象的属性名来进行取值,而不是我们所期望的将变量的值作为属性名来进行取值的。所以当变量名与对象的属性名完全不一致时,结果为undefined。

2.用[]访问对象属相时,objectName[properName]; properName可以是变量

三、示例

function myFunction(){
    var txt = "";
    var a = "";
    var b = ""
    var person={fname:"Bill",lname:"Gates",age:56};
    for (var x in person){
        a += x+",";//fname,lname,age,
        txt += person[x]+",";//Bill,Gates,56,
        b += person.x+",";//undefined,undefined,undefined,
    }
}