访问静态类成员的javascript
在我的页面部分,我有以下内容:访问静态类成员的javascript,javascript,Javascript,在我的页面部分,我有以下内容: <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'></scrip
<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>
NumberMaze.js包含:
(function(undefined) {
NumberMaze.GameConfig = function() {
return {
minCanvasWidth : 320,
minCanvasHeight : 240,
maxCanvasWidth : 640,
maxCanvasHeight : 480,
};
};
})();
(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
中的函数;不是包含数据的实际对象
您必须调用函数来获取对象,因为函数返回对象:
console.log(NumberMaze.GameConfig().minCanvasWidth);
但是,为什么不直接设置对象,而不是将其包装在一个(看似无用的)函数中
(function(undefined) {
NumberMaze.GameConfig = {
minCanvasWidth : 320,
minCanvasHeight : 240,
maxCanvasWidth : 640,
maxCanvasHeight : 480,
};
})();
这样,两个日志都可以正常工作。aww。。GameConfig是一个函数。正确的。。thx指出这一点:)