我在Javascript中有一个“类”,在构造函数中指定了一个变量。我还使用原型来存储变量/方法:
var MyClass = function()
{
this.age = 100;
};
MyClass.prototype.name = "John";
MyClass.prototype.getAge = function() { return this.age};
alert(MyClass.prototype.name); //Alerts John
alert(MyClass.age); //undefined as expected
alert(MyClass.prototype.getAge()); //undefined??
所以从我所知道的,除非我从Class中创建一个对象,否则我无法访问存储在MyClass中的构造函数变量:
var theClass = new MyClass();
alert(theClass.age);
alert(theClass.getAge());
两个警报都会正确返回年龄。
重申一下,我是否可以直接从MyClass访问构造函数变量而无需创建变量?
答案 0 :(得分:2)
没有。当构造函数运行时,示例中的变量age
是 created ;因此,在运行该功能之前它不可用。
答案 1 :(得分:2)
从我所知道的,除非我从Class
创建一个对象,否则我无法访问存储在MyClass中的构造函数变量。
正确。它们在函数体中分配。在执行函数之前它们不会存在。
重申一下,我是否可以直接从MyClass访问构造函数变量而无需创建变量?
没有