Javascript复制语义
Javascript copy semantics
以下是正常的javascript语义:
js> a={'a':{'red':12,'green':23,'blue':34}}
({a:{red:12, green:23, blue:34}})
js> b=a['a']
({red:12, green:23, blue:34})
js>b={red:122, green:232, blue:142}
({red:122, green:232, blue:142})
js> a
({a:{red:12, green:23, blue:34})
js>
下面是我想要的语义:
js> a={'a':{'red':12,'green':23,'blue':34}}
({a:{red:12, green:23, blue:34}})
js> b=a['a']
({red:12, green:23, blue:34})
js>b={red:122, green:232, blue:142}
({red:122, green:232, blue:142})
js> a
({red:122, green:232, blue:142})
js>
有任何简单的内部技巧,使javascript行为我的方式?
Javascript没有"指向引用的指针"类型。然而,你可以创建一个"对象的属性"类型(object, property name;不能指向局部变量)。
a={'a':{'red':12,'green':23,'blue':34}}
//({a:{red:12, green:23, blue:34}})
b={obj:a, key:"a"}
b.obj[b.key]
//({red:12, green:23, blue:34})
b.obj[b.key]={red:122, green:232, blue:142}
//({red:122, green:232, blue:142})
a
//({a:{red:122, green:232, blue:142}})
或者,您可以覆盖b
引用的对象:
a={'a':{'red':12,'green':23,'blue':34}}
//({a:{red:12, green:23, blue:34}})
b=a['a'] //or a.a
//({red:12, green:23, blue:34})
b.red = 122;
b.green = 232;
b.blue = 142;
b
//({red:122, green:232, blue:142})
a
//({a:{red:122, green:232, blue:142}})
相关文章:
- 使用Clipboard.js复制span文本
- ZeroClipboard-在复制之前添加到值
- 如何在android中使用phonegap将文件从一个文件夹移动/复制到另一个文件夹
- 复制图像路径以单击它
- 复制当前url按钮-Javascript
- 语义ui如何使用javascript启用或禁用下拉列表
- 具有所有样式的文本正在复制到可编辑文本区域
- JavaScript”;复制“;HTML表单
- jsPlumb-拖动克隆而不进行复制
- 如何将给定的curl命令复制为jquery ajax请求
- 语义ui表单验证:图像url
- 如何对映射插件创建的敲除对象进行深度复制
- 使用append时复制内容的DOM
- 如何将键入的文本从一个输入类型的文本复制到另一个
- 需要将单元格值复制到html表中的其他单元格中
- jQuery表单克隆,如何阻止值被复制
- 在Javascript中复制C#服务器端验证
- 将文件从应用程序文件夹复制到JQM/Phonegap应用程序中的根文件夹
- 使用Emscripten Worker API传输数据而不进行复制
- Javascript复制语义