我试图让一个函数在 adobe animate canvas 的主时间轴内工作。我有该代码:
function player(){
var power = 19;
}
console.log(this.power);
当我执行它时,它显示未定义。任何人都可以解释我为什么吗?
最佳答案
在你的方法player()
中定义一个本地变量power
,它只存在于该函数的范围内,其他地方没有这样的变量。因此,当您编写时,您实际上引用的是全局变量window.power
(this
是window
> 在本例中)未定义。
最后一点,当您更正此问题时,您仍然需要执行该函数。
您可以全局定义 power
或在定义该变量的函数内运行 console.log
:
第一种情况:
var power;
function player() {
power = 19;
}
player();
console.log(power);
第二种情况:
function player(){
var power = 19;
console.log(power);
}
player();
注意:每当您尝试访问任何函数范围之外的变量时,它都会以以下方式访问该 window
对象:window.someVariable
所以在这种情况下,您可以像上面的两个示例一样执行 someVariable
。
关于javascript - 在 adobe animate 时间轴内创建函数( Action ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45703071/