サンプル コードを次に示します。
f2() 内で f1() を呼び出すと、終了します。理由がわかりません。に置き換えthis
てみましTest.prototype
たが、同じように失敗します。読み取りと話した後、私がしたかどうかを尋ね、var foo = new bar()
foo で関数を呼び出すと、this
常に foo 変数になります。彼の答えは私を混乱させた。
クラス/これはJSでどのように機能しますか? 欲しいのは基本だけ。静的変数と関数は簡単に説明できるかもしれませんが、仮想関数、継承などは必要ありません。パブリック/プライベートがどのように機能するかを知る必要はありませんが、パブリック変数と関数にアクセスする方法を理解できる限り、今のところ問題ありません。
var msg='';
try{
function Test(){
var a='';
var b=3;
var c=4;
this.f1=function(){
msg+="f1\n";
}
this.f2=function(){
msg+="f2a\n";
f1();
msg+="f2b\n";
}
this.f3=function(){
msg+=b+"\n";
b=5;
}
function f4(){
c++;
}
}
var t1 = new Test();
t1.f2();
t1.f3();
t1.f4();
console.log(t1.b);
}
catch(err)
{
console.log(err);
}
console.log(msg);