gpt4 book ai didi

javascript - 从JavascriptMVC中的静态方法获取静态属性的值

转载 作者:行者123 更新时间:2023-11-28 09:58:32 24 4
gpt4 key购买 nike

我正在与 JavascriptMVC 一起开发我的第一个项目.

我有一个 Foo 类。

$.Class('Foo',{
// Static properties and methods
message: 'Hello World',
getMessage: function() {
return Foo.message;
}
},{});

这很好用。但是如果我不知道类名怎么办?我想要这样的东西:

$.Class('Foo',{
// Static properties and methods
message: 'Hello World',
getMessage: function() {
return this.message;
}
},{});

但我不能在静态属性中使用this。那么,如何从静态方法中获取当前类名。

从原型(prototype)方法来看,这很容易:

this.constructor.shortName/fullName.

但是如何在静态方法中做到这一点?

最佳答案

事实是,我错了。可以在静态方法中使用this。这里有一个小代码片段,可以帮助理解 JavascriptMVC 的静态和原型(prototype)方法和属性是如何工作的,以及它们中 this 的范围。

$.Class('Foo', 
{
aStaticValue: 'a static value',
aStaticFunction: function() {
return this.aStaticValue;
}
},
{
aPrototypeValue: 'a prototype value',
aPrototypeFunction: function() {
alert(this.aPrototypeValue); // alerts 'a prototype value'
alert(this.aStaticValue); // alerts 'undefined'
alert(this.constructor.aStaticValue); // alerts 'a static value'
}
});

alert(Foo.aStaticFunction()); // alerts 'a static value'
var f = new Foo();
alert(f.aPrototypeValue); // alerts 'a prototype value'
f.aPrototypeFunction();

关于javascript - 从JavascriptMVC中的静态方法获取静态属性的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9564890/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com