请问JavaScript打印对象有值,但是打印对象的属性为undefined?-灵析社区

LightSea

### 问题描述 如下图所示,我分别打印了ObjectFood和ObjectFood[1001] ![image.png](https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250104/03f9f59d2fe7a095db73ad67c2b7147b.png) 但是输出结果如下图所示 ![image.png](https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250104/e2a505d7a8d3cef390c6eaf75e5ddef9.png) ![image.png](https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250104/8dfd9c970886ffabd8d943755fc3e8bf.png) 后续尝试了 consile.log(ObjectFood["1001"]) let i = "1001" console.log(ObjectFood.i) 这两种方法均是undefined,求各位帮忙解惑

阅读量:278

点赞量:13

问AI
你应该使用 ObjectFood[i] 访问值,而不是 ObjectFood.i。 ObjectFood[i] 等价于 ObjectFood["1001"]。 比如一个对象 obj = { a: '1' },你可以使用 "obj.a" 或者 obj['a'] 去访问。 let i = "1001" ObjectFood = { 1001: 'xxxx' },或者写成: { [i]: 'xxxx' } 可以参考:"https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Object_initializer#%E8%AE%A1%E7%AE%97%E5%B1%9E%E6%80%A7%E5%90%8D" (https://link.segmentfault.com/?enc=aQ18CjcyLa6rtpPTWPEGCg%3D%3D.94tk%2Fk0HoS9yOkaylwY2i2GBdhdTmn5ExWSZTYkjro7o9e15s%2BMixTBCuMXsvLYunI%2BHv%2FEUHOO5aRlgE4VbLlLpyMgZlmMFlFSEazlaNkKsy%2F3NpptmvpBmYMqVrSENwI5n63mIpfvhzSrL%2FqN3HTm5wked%2FEpYnvi4BhmR%2FQ0qXfhTI4jpsCpxlHTYrntQ)