在不创建新实例的情况下访问构造函数的属性
如果没有首先创建实例,是否可以访问构造函数对象/函数的属性?
例如,假设我有这个构造函数:
function Cat() {
this.legs = 4;
};
而现在 - 没有创建一个新的猫实例 - 我想知道构造函数中legs
价值。 这可能吗?
(而且我并不是在寻找像下面这样的东西: var legs = new Cat().legs
。(比方说,由于某种原因,新Cat的实例化是超级CPU。))
有这样的事情吗?
function Cat() {
this.legs = 4;
}
var obj = {};
Cat.call(obj);
console.log(obj.legs); // 4
这更加昂贵:
console.log(parseInt(Cat.toString().match(/this.legss*=s*(d+)/)[1]));
在你的场景中, leg
是一个实例变量,这意味着需要一个对象实例才能访问它。
你可以将它变成一个伪class variable
(参见Javascript中的类变量),那么你应该可以在不调用函数的情况下访问它(实例化对象)。
上一篇: Accessing property of constructor without creating new instance
下一篇: Open and save documents on local intranet site from shared folder