欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

对象的两种取值方式——点方式和[ ]方式

程序员文章站 2022-04-10 13:58:53
...
// 对象取值————点方法和[]方法

var obj = {a:{a1:"a2"},b:"b1",0:"00"};

var key = 'a';

var key2 = "a.a1";

console.log(
// 一级取值:

    //键名是字符串
    obj.a, // { a1: 'a2' }
    obj['a'], // { a1: 'a2' }
    obj.b, // 'b1'
    obj['b'], // 'b1'

    // 键名是数字
    // obj.0, 无法获取,报错 
    obj[0], //'00'

    // 键名是变量
    obj.key, // undefined
    eval("obj."+key), //{ a1: 'a2' }
    obj[key], // { a1: 'a2' }

// 多级取值

    obj.a.a1, // a2
    obj['a']['a1'], // a2
    eval("obj."+key2), // a2
    obj[key2], // undefined
    );


/*
 总结:
    点方式的键名是省略引号的字符串,且只能是字符串,键名是数字或者变量时,只能使用[]方式。
    
    当变量代表的键名是多级时,不能使用[]方式,可以配合eval()使用点方式
*/

 

相关标签: 对象