私は作成しようとしている単純な Javascript クラスを持っていますが、それが起こっているようには見えない問題に遭遇するまではうまくいきました。私は次のクラスを持っています:
function circle(paper) {
var x = null;
var y = null;
var r = null;
var x1 = null;
var y1 = null;
var R = 0;
this.G = 0;
this.B = 0;
this.lineSize = 1;
this.paper = paper;
var that = this;
this.set = function(x,y,r){
that.x = x;
that.y = y;
that.r = r;
}
this.colorOut = function(){
console.log("R: "+that.R+" G: "+this.G+" B: "+this.B);
}
}
さて、Rは何をしても未定義になっていますが、そうすると、var R = null;
セットでthat.R = 0;
突然定義されます。しかし、多くのSOの投稿がこれらの問題にリンクしているcrockfordのサイトで見つけたものから、彼は私がしていることをやっているようで、うまくいっています。次のコードに見られるように:
function Container(param) {
function dec() {
if (secret > 0) {
secret -= 1;
return true;
} else {
return false;
}
}
this.member = param;
var secret = 3;
var that = this;
this.service = function () {
return dec() ? that.member : null;
};
}
さて、私がここで理解していないこと、または誤解していることはありますか? 私は JS のクラスがどのように機能するかについては初めてで、Java/C++ クラスに慣れています。とにかく、さらに情報が必要な場合は質問してください!ありがとう多くの!