gpt4 book ai didi

javascript - 引用 JavaScript 中其他对象属性的对象属性

转载 作者:行者123 更新时间:2023-11-30 10:23:44 26 4
gpt4 key购买 nike

我愿意:

outerobject={
a: 1,
b: 2,
c: this.a + this.b,
};

console.log(outerobject.a);
console.log(outerobject.b);
console.log(outerobject.c);

我希望:

1
2
3

我得到:

1
2
NaN

为什么我得到的是 NaN?

最佳答案

在对象 this 中分配了对 window 或全局对象的引用。您需要使用一个函数,该函数将使 this 引用对象的引用。

var outerobject={ a: 1, b: 2, c: function(){return this.a + this.b}};
var outerobject2={ a: 1, b: 2, c: console.log(this)}; //logs window/global object

console.log(outerobject.c());//outputs 3

或者使用函数构造函数:

function MyObject(){
this.a = 1;
this.b = 2;
this.c = this.a + this.b;
console.log(this);
}

var myObject = new MyObject();

关键是function决定了this的范围。当一个函数作为一个对象的方法被调用时,它的 this 被设置为调用该方法的对象。

JS fiddle : http://jsfiddle.net/aRFLn/

Read More

关于javascript - 引用 JavaScript 中其他对象属性的对象属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20525869/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com