JS 内のこのオブジェクト
阿神
阿神 2017-05-19 10:26:19
0
4
686

var str="hello";
var obj={
str:"world",
saystr:this.str
};
alert(obj.saystr); / /結果はこんにちは

です

結果が「world」ではなく「hello」になる理由を聞いてもいいですか

阿神
阿神

闭关修行中......

全員に返信(4)
習慣沉默

この記事はこの問題のほとんどを解決できます。

いいねを押す +0
漂亮男人

this指向什么,由包含它的最近的一个function决定的;
如果没找到function,那么this はグローバル オブジェクトです。
あなたの質問では後者です。

コードを少し変更します:

リーリー

これが最初の状況です。

要約: this を決定するには、通常 2 つのステップが必要です:

  1. まず、this的最近的一个function

    を含む最も近い
  2. を見つけます。
  3. 次に、この function の呼び出し方を見てください。詳細はこちらをご覧ください。

いいねを押す +0
滿天的星座

リーリー リーリー

いいねを押す +0
伊谢尔伦

理解を深めるために質問を次のように変換してください:

リーリー

これが window グローバル オブジェクトを指していることが一目でわかり、obj.saystr の結果は hello になります

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート