现在有些事情让我再次感到困惑。在文件中,我看到以下代码this.xCenter = options.xPos;
,但是,我找不到对象中定义的xCenter
位置this
。然后我添加了一行this.myattr = 12;
,令我惊讶的是,代码运行正常并且没有显示任何错误。在我知道运行结果之前,我认为代码应该运行不成功,因为this
没有定义 的属性myattr
,所以我很困惑。这与Java的语法确实不同。反过来,我认为这是为对象定义/添加属性的一种方式,我的假设是否正确,或者只是代码意味着其他东西,伙计们?
问问题
70 次
1 回答
6
Javascript 是一种动态(弱)类型的语言。您可以根据需要添加属性。它们不需要先声明。
例如 :
var obj = {}; // create an object but we don't define any properties
obj.foo = "hello"; // property foo just got created
obj.bar = 10; // and same for bar
console.log(obj);
另一方面,Java 是一种静态(和强)类型语言,因此必须在使用之前声明变量和属性。
于 2012-12-11T09:30:52.350 回答