D2-堆栈内存及函数底层运行机制

1.对象属性名相关知识:

练习题:写出下列代码的输出结果

//example 1
var a={}, b='0', c=0;  
a[b]='你好';
a[c]='世界';  
console.log(a[b]);
​
---------------------

//example 2
var a={}, b=Symbol('1'), c=Symbol('1');  
a[b]='你好';
a[c]='世界';  
console.log(a[b]);
​
---------------------

//example 3
var a={}, b={n:'1'}, c={m:'2'};  
a[b]='你好';
a[c]='世界';  
console.log(a[b]);

obj[‘name’] 获取成员为name的属性值
obj[name] 把name变量存储的值作为成员获取其属性值
对象的属性名可以是:

  • 字符串
  • Symbol;
  • 数字/布尔/null/undefined等基本数据类型值(用这些值直接处理和基于他们的字符串格式处理结果是一样的)

也有人认为属性名除了Symbol只能是字符串格式的
对于普通对象来讲,属性名不能是引用数据类型值(比如对象),设置为对象,也会转换为字符串;ES6中新增Map数据结构,这个结构中可以允许属性名是一个对象;
在这里插入图片描述

var obj = {
    name: 'xxx',
    0: 100,
    true: 11,
    null:10,
    'null':12,
    undefined:99
};
obj[Symbol('AA
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值