在这个来自MSDN的example中,即使没有定义,也使用currentTheta
。“currentTheta”如何在此代码中工作?
var initialTheta = 0;
var thetaDelta = 0.3;
var angularLimit = 90;
var theSquare = document.getElementById("mySquare");
theSquare.currentTheta = initialTheta;
这怎么可能?
在这个来自MSDN的example中,即使没有定义,也使用currentTheta
。“currentTheta”如何在此代码中工作?
var initialTheta = 0;
var thetaDelta = 0.3;
var angularLimit = 90;
var theSquare = document.getElementById("mySquare");
theSquare.currentTheta = initialTheta;
这怎么可能?
这就是您如何定义JavaScript对象的新属性。
在JavaScript中,这个属性标记:
theSquare.currentTheta = initialTheta;
等同于这个符号:
theSquare["currentTheta"] = initialTheta;
鉴于这两个是相同的,也许它更有意义了。
theSquare.currentTheta
是指物体上称为currentTheta
的属性。 JavaScript中的属性和变量非常不同,您不必声明属性来读取或写入属性;如果它不存在,将在写入时创建,如果不存在,则在读取时评估为undefined
。
从MDN的Objects and properties section报价,
您可以通过分配一个值来定义的属性。例如,让我们创建一个名为
myCar
一个对象,并给它命名的属性make
,model
,并year
如下:var myCar = new Object(); myCar.make = "Ford"; myCar.model = "Mustang"; myCar.year = 1969;
你会想到,如果你没有这样的事情发生? 'var x = {}; x.foo = 2;' –