js访问对象属性的方式“.”与“[]”的区别

. 和 [] 没多大区别,作用完全相同。但是

  • 一般情况下建议使用 . 写法,这样比较接近其它语言的面向对象写法,易读

  • 如果属性名是动态的(比如变量中),只能使用 [] 写法。如

    var person={name:"myName"};
    var proName="name";
    console.log(person[proName]);
    

     

  •  如果属性名中包含会导致语法错误的字符,也只能使用方括号语法,如:

    var person={"na,me":"myName"};
    console.log(person["na,me"]);
    

      

原文地址:https://www.cnblogs.com/suhaihong/p/8482394.html