(59)Wangdao.com第十天_JavaScript 对象在 栈和堆

对象的属性值

  • 如果要使用特殊的属性名,需
    • 对象["属性名"] = 属性值       // 存
    • 对象["属性名"]       // 取
  • obj["123"] = 456;
    var n = "123";
    
    // 可以传一个变量到 [] ,来取变量对应在 Object 中的属性值
    console.log(obj[n]);
  • 对象的属性值可以是任意数据类型,包括对象和函数。
  • 使用 in 运算符来检查一个对象是否含有某属性
    • console.log("123" in  obj);    // true

       

  • 变量和基本类型保存在栈内存中,运用 "=" 时,会将变量值也在栈内存中复制一份,彼此独立不相互影响。
  • 而每次 new Object() 都会在堆内存中开辟一片空间来保存对象,当使用 "=" 时,只是保存了指向这片堆内存的地址而已,所以两个变量操作一个对象,彼此影响。

 

posted @ 2018-09-25 08:31  耶梦加德  阅读(95)  评论(0编辑  收藏  举报