これはどのように可能ですか?私は、最初の2つの例では未定義に戻すべきだと考えました。これはどのように可能ですか?オブジェクト変数へのアクセス
function SecretCode() {
var _secretNum = 78;
this.guessNum = function(num) {
if(num > _secretNum) {
return console.log("Lower");
} else if (num < _secretNum) {
return console.log("Higher");
} else {
return console.log("You guessed it");
}
}
}
let secret = new SecretCode();
secret.guessNum(this.secretNum); //You guessed it
secret.guessNum(this._secretNum); //You guessed it
secret.guessNum(secretNum); //is not defined
secret.guessNum(_secretNum); //is not defined
console.log(secret.secretNum); //undefined
console.log(secret._secretNum); //undefined
有用であろう各line.Hopeに対してコメントを追加して、NOT' secret' –
'secret.guessNum(this.secretNum)'の 'this'は' window'を参照し、windowは 'secretNum'を持たないため、未定義で最初の2つの条件は満たされず、else文が実行されます。 – Ammar