如何获取原始值的引用
how do i get a reference of primitive value?
var number = 12345;
var obj = {};
做类似的事情
obj.look ((((((some operator or function to get a reference of number ))))) number
无论如何,让我们现在考虑一下 OBJ 有一个对数字的引用。
所以我想这样做。
obj.look = 'abc';
console.log (number); // hopefully 'abc'
我希望它将是:
- 不是方法(如 obj.look(( (
但可以在属性中引用(如obj.look(
我问的只是如何获得原始值的参考。
我相信一定有办法。请帮帮我。
您可以使用
Object.defineProperty:
var number = 12345;
var obj = {};
Object.defineProperty(obj, 'look', {
get() {
return number;
},
set(value) {
number = value;
}
});
document.write(obj.look + '<br>');
obj.look = 'abc';
document.write(number);
你可以有一个对象,将该引用复制到另一个变量,改变该对象,并且由于两个变量都包含对同一对象的引用,因此从一个变量所做的任何更改也可以从另一个变量访问。
基元值可以包装到对象(new Object
(,但不能以其他方式引用它们。字符串对象是不可变的(所有属性都是不可配置的、不可写的(,数字对象值也不可访问。因此,您无法更改任一对象的值。
这意味着当您这样做时:
obj.look = 'abc';
您正在擦除旧引用并在那里设置一个新字符串(对象或基元(。 number
仍将保留旧引用,并将保持不变。
所以,没有。我认为这在Javascript中是不可能的。
相关文章:
- 做<img>或者<画布>保存对原始(大)dataUrl对象的引用
- 骨干模型克隆创建对原始模型的引用
- 如何进行服务器端HTTP重定向更新引用程序(更改原始引用程序)
- 更改范围时如何正确引用原始对象
- 缩小后对原始来源的引用
- 维护 jQuery.clone() 元素对原始元素的引用
- 如何在 JavaScript 中覆盖全局函数,但保留对原始函数的引用
- Javascript - 原始与引用类型
- jQuery 插件,保留对原始元素的引用
- 停止在 javascript 中更新原始对象引用
- 主干集合 - 筛选和呈现集合将丢失对原始未筛选集合的引用
- 如何获取原始值的引用
- Object.assign保留对原始对象的引用
- 为什么引用引用don't更新原始对象
- 使源映射引用远程计算机上的原始文件
- 使用highland.js在引用原始流数据的情况下执行串行异步任务
- Javascript闭包:原始行为与引用行为
- 通过jQuery.fn.data()分配变量将保留对原始标记值的引用
- 删除时获取原始元素的引用
- 奇怪的代码——javascript (JS)中原始变量和引用变量的动态属性