javascript访问静态类的成员
javascript accessing member of a static class
我的页面部分有以下内容:
<head>
<link rel='stylesheet' href='style.css' />
<script language='javascript' src='scripts/jquery-1.7.1.min.js'></script>
<script language='javascript' src='scripts/NumberMaze.js'></script>
<script language='javascript' src='scripts/GameConfig.js'></script>
<script language='javascript' src='scripts/UIManager.js'></script>
<script>
$(document).ready(function() {
var game = new NumberMaze();
});
</script>
</head>
GameConfig.js包含:
(function(undefined) {
NumberMaze.GameConfig = function() {
return {
minCanvasWidth : 320,
minCanvasHeight : 240,
maxCanvasWidth : 640,
maxCanvasHeight : 480,
};
};
})();
NumberMaze.js包含:
(function($, undefined) {
NumberMaze = function() {
console.log(NumberMaze.GameConfig.minCanvasWidth);
console.log(NumberMaze.GameConfig);
};
})(jQuery);
对于NumberMaze.js中的日志,我得到了以下输出。如何访问minCanvasWidth的值。我的代码出了什么问题?
undefined
function () {
return {
minCanvasWidth : 320,
minCanvasHeight : 240,
maxCanvasWidth : 640,
maxCanvasHeight : 480,
};
}
如日志所示,NumberMaze.GameConfig
中存储了一个函数;而不是带有数据的实际对象。
您必须调用函数来获取对象,因为函数return
是对象:
console.log(NumberMaze.GameConfig().minCanvasWidth);
但是,为什么不直接设置对象,而不是将其封装在一个(看似无用的)函数中呢?
(function(undefined) {
NumberMaze.GameConfig = {
minCanvasWidth : 320,
minCanvasHeight : 240,
maxCanvasWidth : 640,
maxCanvasHeight : 480,
};
})();
这样,您的两个日志都可以正常工作。
相关文章:
- JavaScript命名约定;静态“;类或模块
- 需要帮助理解如何在javascript中定义静态类和可实例化类
- 创建静态(类)变量-最佳实践
- 打字稿中的静态类
- 类的方法 - 静态成员
- 通过CSS绑定、敲除.js组合动态和静态类
- 在coffeescript类中是否可以有一个同名的静态函数和成员函数
- javascript访问静态类的成员
- 在javascript中,是否可以创建一个可修改的静态类变量
- 如何在AS3或JavaScript中访问类的静态成员的名称?
- 每个类单独的继承静态成员
- 静态类属性不能与Babel一起工作
- ES的正确称呼是什么?下一个静态类属性
- 对象文字中的静态类
- 如何在Javascript中使用DOJO创建静态类
- JavaScript类语法:静态数据成员
- 如何在javascript中获得一些类的所有静态成员的列表
- 关于名称空间下的静态类的问题
- 类有静态成员' name '时出现类型错误
- Javascript闭包和静态类问题