猿问

使用defineProperties的时候一个奇怪的现象

    var name = {};

    Object.defineProperties(name, {

      firstName: {

        value: 'z',

        writable: true

      },

      lastName: {

        value: 'daoyang',

        writale: true

      }

    });

而把name换成其他字母,比如name1就没问题,请问这是为什么

 var name1 = {};

    Object.defineProperties(name1, {

      firstName: {

        value: 'z',

        writable: true

      },

      lastName: {

        value: 'daoyang',

        writale: true

      }

    });

https://img.mukewang.com/5c63d2300001312a06040287.jpg

为什么name不能作为对象名???

凤凰求蛊
浏览 352回答 1
1回答

30秒到达战场

在 console 里 name 默认是 window 的属性,你手动修改 name,会被强制转换成字符串,name 修改后变成了是 "[object Object]",是字符串,并不是对象,导致报错
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答