Javascriptの中のthisキーワード

727 ワード

ルールは以下の通りです
  • グローバルコードにおいて、グローバルオブジェクト(ブラウザのwindowオブジェクト)を指す
  • 関数コードの場合:
  • 関数がオブジェクトの属性として呼び出されます.   ),thisオブジェクト自体を指す
  • 非1の場合、thisはグローバルオブジェクト(ブラウザのwindowオブジェクト)
  • を指す.
  • newキーワードを用いて呼び出され(例えば、var a=new Function 1())、新たに作成されたオブジェクトの自身
  • を指す.
  • はnewキーワードを使わずに呼び出されます.(例えば、var a=Function 1()、thisはグローバルオブジェクト(ブラウザのwindowオブジェクト)
  • を指します.
  • は、callまたはappyを使用して呼び出され、thisはcallまたはappyに伝達される最初のパラメータ、例えば
  • を実行する.
    var add = function (x, y) {
          this.val = x + y;
        },
        obj = {
          val: 0
        };
    add.apply(obj, [2, 8]);
    console.log(obj.val); // 10
    
    add.call(obj, 2, 8);
    console.log(obj.val); // 10
    
    
  • Evalのコード
  •                  比較的に微妙で、ブラウザと関係がありますので、コードの類似を避けるべきです.