関数とメンバを保持する単純なJavaScriptオブジェクトを使用しています
問題は、メンバまたは関数のいずれかを使用するたびにthis
を追加する必要があることです。
this
を書くと、すべてのメンバー変数またはメンバー関数の前にそれを使用しないでください。例えば
: JavaScriptでオブジェクト内に関数と変数を作成すると、いつどのように "this"を使用しないようにできますか?
var MyClass = cc.LayerColor.extend({
sprite:null,
stopGameLoop:false,
labelScore:null,
winSize:0,
visibleOrigin:0,
blocksList : [] ,
circle:null,
gameOverScreen:null,
circleblockY:0,
circleblockX:0,
blocksNum:0,
currentState:0,
zCount:0,
currentZorder:0,
iScore:0,
ctor:function() {
//////////////////////////////
// 1. super init first
this._super();
this.init(cc.color(255,255,255, 255));
this.winSize = cc.winSize;
this.visibleOrigin = cc.director.getVisibleOrigin();
this.setGameOverScreen(this.blocksNum);
this.setLevel(this.circleblockY,this,circleblockX);
return true;
},
setLevel:function (a,b,c) {
},
setGameOverScreen:function (foo) {
},
});
は必ず使用して、
this
なぜ?
現代のJSと互換性のある一般的なソリューションはありません。暗黙のうちにいくつかの言語に比べてJSの自由は、財産の所有者を参照するときに明白にする必要があります。 –
メソッドの代わりに関数を使うならば、 'this.'を削除することができます(クラスにそれらを付けないでください)。 – Thomas