Javascript 如何使用构造函数的实例变量访问java脚本中构造函数的静态属性?
我在java脚本中创建了一个类(构造函数),如下所示,它的属性类型为staticJavascript 如何使用构造函数的实例变量访问java脚本中构造函数的静态属性?,javascript,Javascript,我在java脚本中创建了一个类(构造函数),如下所示,它的属性类型为static function MyClass(property1 ) { this.Property1 = property1 || ""; } MyClass.StaticProperty = { Running: "Running", NotRunning: "NotRunning" } 现在,我可以使用构造函数名称访问上述静态属性,如下所示: MyClass.StaticProperty.Ru
function MyClass(property1 )
{
this.Property1 = property1 || "";
}
MyClass.StaticProperty = {
Running: "Running",
NotRunning: "NotRunning"
}
现在,我可以使用构造函数名称访问上述静态属性,如下所示:
MyClass.StaticProperty.Running
var myClassInstance = new MyClass("value");
var status = myClassInstance.StaticProperty.Running;
但我还希望使用构造函数的实例访问该属性,如下所示:
MyClass.StaticProperty.Running
var myClassInstance = new MyClass("value");
var status = myClassInstance.StaticProperty.Running;
我知道如果它是原型变量或构造函数中定义的变量,我可以访问它。但我不想这样做,因为我希望它表现为一个静态变量
用例:
我有多个具有相同属性名称的构造函数。我正在数组中获取这些构造函数实例。我想循环遍历数组中的每个构造函数并读取静态变量。比如说
var allStaticPropertyValues = [];
for(index = 0; index < arrayOfConstructors.length; index++)
{
for(var property in arrayOfConstructors[index].StaticProperty)
{
allStaticPropertyValues.push(arrayOfConstructors[index].StaticProperty[property]);
}
}
var allstaticPropertyValue=[];
对于(索引=0;索引
我的尝试:
访问
构造函数
属性将直接引用构造函数(对象,而不是字符串),因此您可以访问其静态属性
属性:
函数MyClass(property1){
this.Property1=Property1 | |“”;
}
MyClass.StaticProperty={
跑步:“跑步”,
NotRunning:“NotRunning”
}
var myClassInstance=新的MyClass(“值”);
var status=myClassInstance.constructor.StaticProperty.Running;
控制台日志(状态)
您可以使用MyClass
实例的constructor
属性来获取MyClass
,然后您可以访问MyClass
的静态变量
函数MyClass(property1)
{
this.Property1=Property1 | |“”;
}
MyClass.StaticProperty={
跑步:“跑步”,
NotRunning:“NotRunning”
}
var myClassInstance=新的MyClass(“值”);
var status=myClassInstance.constructor.StaticProperty.Running;
console.log(状态)