var str="hello";var obj={ str:"world",saystr:this.str};alert(obj.saystr); / /結果はこんにちは
結果が「world」ではなく「hello」になる理由を聞いてもいいですか
闭关修行中......
この記事はこの問題のほとんどを解決できます。
this指向什么,由包含它的最近的一个function决定的;如果没找到function,那么this はグローバル オブジェクトです。 あなたの質問では後者です。
this
function
コードを少し変更します:
これが最初の状況です。
要約: this を決定するには、通常 2 つのステップが必要です:
まず、this的最近的一个function
次に、この function の呼び出し方を見てください。詳細はこちらをご覧ください。
リーリー リーリー
理解を深めるために質問を次のように変換してください:
これが window グローバル オブジェクトを指していることが一目でわかり、obj.saystr の結果は hello になります
この記事はこの問題のほとんどを解決できます。
this
指向什么,由包含它的最近的一个function
决定的;如果没找到
function
,那么this
はグローバル オブジェクトです。あなたの質問では後者です。
コードを少し変更します:
リーリーこれが最初の状況です。
要約:
this
を決定するには、通常 2 つのステップが必要です:まず、
を含む最も近いthis
的最近的一个function
次に、この
function
の呼び出し方を見てください。詳細はこちらをご覧ください。リーリー リーリー
理解を深めるために質問を次のように変換してください:
リーリーこれが window グローバル オブジェクトを指していることが一目でわかり、obj.saystr の結果は hello になります