2014-05-21 73 views
1

在这个来自MSDN的example中,即使没有定义,也使用currentTheta“currentTheta”如何在此代码中工作?

var initialTheta = 0; 
var thetaDelta = 0.3; 
var angularLimit = 90; 
var theSquare = document.getElementById("mySquare"); 

theSquare.currentTheta = initialTheta; 

这怎么可能?

+0

你会想到,如果你没有这样的事情发生? 'var x = {}; x.foo = 2;' –

回答

1

这就是您如何定义JavaScript对象的新属性。

在JavaScript中,这个属性标记:

theSquare.currentTheta = initialTheta; 

等同于这个符号:

theSquare["currentTheta"] = initialTheta; 

鉴于这两个是相同的,也许它更有意义了。

1

theSquare.currentTheta是指物体上称为currentTheta的属性。 JavaScript中的属性和变量非常不同,您不必声明属性来读取或写入属性;如果它不存在,将在写入时创建,如果不存在,则在读取时评估为undefined

1

从MDN的Objects and properties section报价,

您可以通过分配一个值来定义的属性。例如,让我们创建一个名为myCar一个对象,并给它命名的属性makemodel,并year如下:

var myCar = new Object(); 
myCar.make = "Ford"; 
myCar.model = "Mustang"; 
myCar.year = 1969; 
相关问题