首先,对于这个问题太基础或措词不正确,我深表歉意。我正在学习JavaScript,但仍然很陌生。而且我一直在尝试找出教科书中包含的示例,并且需要一些帮助。
这是示例:
var star = new Object;
function Star(constell, type, specclass, magnitude) {
this.constellation = constell;
this.type = type;
this.spectralClass = specclass;
this.mag = magnitude;
}
star["Polaris"] = new Star("Ursa Minor", "Double", "F7", 2.0);
alert(star["Polaris"].spectralClass);
我没有到这里(似乎找不到解释)的部分是,当我选择一个随机对象来发出警报时,例如
alert(star["Polaris"].spectralClass);
我必须在函数内使用名称,spectralClass
而不是specclass
。这是为什么?为什么不使用specclass
已分配给我的东西spectralClass
呢?我想,我在这里缺少大量知识,但是我似乎无法弄清楚它是什么。
谢谢!
让我们进一步简化代码:
function Star(specclass) {
this.spectralClass = specclass;
}
在这里,Star
是一个构造函数。它带有一个参数,可以通过函数内部的名称进行引用specclass
。
该函数将此自变量值分配给名为的对象属性spectralClass
。
现在,
var polarisStar = new Star("F7");
polarisStar
是由Star
函数构造的对象,该函数已将的值分配"F7"
给该对象的spectralClass
属性。因此,您可以通过访问它polarisStar.spectralClass
,例如
alert(polarisStar.spectralClass);
实际上,通常的做法是为构造函数的参数和构造对象的属性赋予相同的名称,即:
function Star(spectralClass) {
this.spectralClass = spectralClass;
}
这使代码更具可读性。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句