从JavascriptMVC中的静态方法中获取静态属性的值
Get the value of static properties from static methods in JavascriptMVC
我正在用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。那么,如何从静态方法中获取当前类名呢。
从原型方法来看,这很容易:
this.constructor.shortName/fullName.
但是如何在静态方法中实现呢?
事实是,我错了。可以在静态方法中使用this。这里有一个小代码片段,可以帮助理解JavascriptMVC的静态和原型方法和属性是如何工作的,以及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();
相关文章:
- 如何在ES Next中扩展静态属性
- JsDoc:删除“;静态“;来自属性的标记
- GoogleMaps API:如何将geoJSON属性与信息框中的静态文本连接起来
- 为什么要在函数定义之外引用静态变量(函数属性)
- 带有属性装饰器的 TypeScript 类就像静态一样
- 获取 HTML 元素的所有静态数据属性,而无需内部绑定数据
- 从JavascriptMVC中的静态方法中获取静态属性的值
- 静态属性不起作用
- 使用BabelJS6访问类静态属性
- "静态“;AngularJS中的属性
- 在 React.js 中覆盖/扩展 ES7 类的静态属性
- Javascript将position属性更改为固定位置属性的每个样式的静态
- 为什么这个静态属性没有定义?如何在Javascript中访问静态属性
- Javascript继承静态和实例方法/属性
- Javascript es6覆盖静态属性
- TypeScript嵌套静态属性
- 如何静态声明一个属性名(键)包含破折号的Javascript对象实例(关联数组)?
- 如何存储变量:特权方法,静态属性
- 静态类属性不能与Babel一起工作
- ES的正确称呼是什么?下一个静态类属性