我想在对象中有私有属性。以下代码不起作用:
var GameModule = (function(ns){
function Game(ctx) {
var self = this, //use self in callback methods (requestAnimationFrame etc)
ctx = ctx,
var dx = 1,
dy = 1;
console.log(dx, dy); //writes 1,1,
console.log(self.dx, self.dy); //writes undefined, undefined
}
ns.Game = Game;
return ns;
})(GameModule || {});
//somewhere later in a different file
$(document).ready(function(){
var game = new GameModule.Game(some_ctx);
});
似乎vars
类似于静态成员,而不是私有成员。
我是否必须编写this.dx = 1
以使变量可访问(例如在成员函数中)?它不会公开变量吗?