作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在使用下面的代码进行基本测试
var A={};
var B={name:"come"};
A.pro=B;
B=null;
//Here A.pro is still point to normal B, not to a null
如果想B变了,A.pro也会变,怎么办?
最佳答案
您可以使用匿名函数,例如:
var A = {};
var B = {
name: "come"
};
A.pro = function() {
return B
};
// or with arrow function
// A.pro = () => B;
B = null;
console.log(A.pro());
如果你想用 A.pro()
更新 B
值,你可以使用一个可选参数,比如:
var A = {};
var B = {
name: "come"
};
A.pro = function(newVal) {
(typeof newVal === 'undefined') ? false : (B = newVal);
return B;
};
B = null;
console.log(A.pro());
A.pro(4);
console.log(A.pro());
关于javascript - 如果你给一个对象赋一个属性,你能让它随着对象的变化而变化吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44264723/
我是一名优秀的程序员,十分优秀!