gpt4 book ai didi

javascript 对象声明无法正常工作

转载 作者:行者123 更新时间:2023-11-30 08:50:13 24 4
gpt4 key购买 nike

我正在创建一个游戏,我在其中声明对象 player 如下:

var player = {
"id": "player",
"displayText" : "<img src = 'http://3.bp.blogspot.com/-kAhN0HX-MBk/T_5bApfhbJI/AAAAAAAAAuI/lUww8xT9yV8/s1600/smileys_001_01.png'" +
"class='onTop' id='" + this.id + "' alt='you' border='0' />" +
"<div id = '" + this.id + "health' class = 'healthLost hide'></div>",
};

但是,在 player.displayText 中,this.id 返回 undefined,为什么以及我可以做些什么来解决这个问题?

最佳答案

您在创建对象字面量时不会更改当前作用域,因此 this 不是您认为的那样。

改为创建一个对象:

function Player(id) {
this.id = id;
this.displayText = "<img src = 'http://3.bp.blogspot.com/-kAhN0HX-MBk/T_5bApfhbJI/AAAAAAAAAuI/lUww8xT9yV8/s1600/smileys_001_01.png'" +
"class='onTop' id='" + this.id + "' alt='you' border='0' />" +
"<div id = '" + this.id + "health' class = 'healthLost hide'></div>";
}

var p = new Player('foo');

关于javascript 对象声明无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18555568/

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