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