gpt4 book ai didi

javascript - this.shift = {x :this. x, y :this. y} 有效但 this.shift.x = this.x 和 this.shift.y = this.y?

转载 作者:行者123 更新时间:2023-11-30 09:04:45 28 4
gpt4 key购买 nike

this.x = (Math.random()*canvasWidth);
this.y = (Math.random()*canvasHeight);

(1) this.shift = {x: this.x, y: this.y};

(2) this.shift.x = this.x;
this.shift.y = this.y;

大家好,我正在玩 Canvas 并正在创建粒子系统。

第一 (1) 个可以,但第二 (2) 个不行,为什么?使用 Chrome 开发工具进行调试时,我收到一条错误消息“无法设置未定义的属性‘x’”。

有什么想法吗?

最佳答案

因为在示例 #2 中,“this”对象没有“shift”属性,所以运行时无法解析其任何“x”(或“y”)属性。您可以通过首先分配“shift”对象来使其工作:

this.shift = {};
this.shift.x = this.x;
this.shift.y = this.y;

关于javascript - this.shift = {x :this. x, y :this. y} 有效但 this.shift.x = this.x 和 this.shift.y = this.y?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6024571/

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