我想设置" text"的值财产到"价值"属性。
example.html的:
<script>
var obj = {
text: "Hello",
value: this.text
/*
value: function() {
return this.text;
}
*/
};
console.log(obj.text); // Output: Hello
console.log(obj.value); // Output: undefined
// console.log(obj.value()); // Output: Hello
</script>
为什么?
答案 0 :(得分:0)
javascript中的this
关键字表示调用当前操作的上下文。因此,如果您想实现您的问题,请执行以下操作:
var obj = {
text: "Hello"
};
obj.value = obj.text;
https://jsfiddle.net/2zzdnmeb/
在您的情况下this
将是window
对象 - 但仍然:您为什么要这样做?你已经拥有了自己的价值
答案 1 :(得分:0)
bcoz this
是指代码中的全局对象。 this
在函数内部可用,否则它将引用全局对象(当前执行上下文)
var obj = {
text: "Hello",
value: this
};
console.log(obj.text); // Hello
console.log(obj.value); // window
但在这种情况下
var obj = {
text: "Hello",
value: function() {
return this.text;
}
};
console.log(obj.text); // Hello
console.log(obj.value()); //Hello
现在this
in value()引用你的对象