javascript:将变量值传入对象时的问题

这个问题本来希望发到论坛上讨论,但好像博客园没有论坛,可是博客园高手最多,所以小弟希望各位大牛们能看看我的问题,给我思路,就当这是论坛吧。十分感谢。

问题如下:

var o = 'left';
var o1 = {drt:'left'};
var o2 = ['left'];

var obj = {o:333};
var obj1 = {o1[drt]:333};
var obj2 = {o2[0]:333};

代码前三行是变量的几个不同声明方式,即普通变量、对象、数组;后三行分别调用了这3个变量并插入对象。问题来了:

  1. 为什么obj1和obj2声明时就直接报错呢?
  2. obj没报错,但为什么循环他的属性时,第一个属性直接就叫做“o”,而不是变量o的值"left"呢?

如果我要达到将变量传给对象当属性,将变量值传给对象当属性值的时候,难道只有用:

var o1 = {drt:'left'};
var obj3={drt:o1.drt}

这种办法?可不可以就像我前面说的那么传呢?为什么呢?

希望各位给我讲讲啊,十分感谢

 

 



posted on   十年灯  阅读(464)  评论(5编辑  收藏  举报

编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
< 2012年2月 >
29 30 31 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 1 2 3
4 5 6 7 8 9 10

统计

点击右上角即可分享
微信分享提示