要約JSのこの点について

混乱して前にこの問題でjsのポイントは、おそらく少し知っているが、テストのこの時点で、それぞれの場合に差額を指すどのような今日の手を知りませんでした、ピットとなっています。
1. こののオブジェクトで
、我々は、たとえば、作成したオブジェクトに、このオブジェクトのポイント:

var obj ={
    ccc : 1122,
    ddd : 2233,
    ded : function(){
            console.log(this);
        }  ,
    fff : function(){
            console.log(this === obj );
        }
}
obj.ded();
obj.fff();

次のように答えはクロームで実行します:
clipboard.png

オブジェクトを示す我々はオブジェクトobjの下DED機能を実行すると、Objectオブジェクト内の物質のすべてのプロパティをプリントアウトすることがわかります。図、

clipboard.png

以下、このオブジェクトは、実行FFF機能、オブジェクトobjに含まれているメソッドとプロパティが含まれているOBJオブジェクト、およびこの比較を見ることができ、2つの同一であることがわかるので、そのオブジェクトのオブジェクトで、この時点。

2.この時点ダイレクトコール機能は、
関数を作成するには:

function main(){
    this.aad = 234;
    console.log(this);    
}
main();

次のように動作した結果は以下のとおりです。
clipboard.png

私たちは、グローバル変数ウィンドウに、このオブジェクトポイントのプリントアウトを見ることができ、作成したAAD変数が直接ウィンドウの下のオブジェクトが含まれているので、この関数は、直接ウィンドウオブジェクトを指して呼び出されたとき。

3.この時点のコンストラクタ
我々はコンストラクタを作成し、ときにオブジェクトをインスタンス化し、これはそれを指すようにどこにあるのでしょうか?関数を作成します

function main(){
    this.aad = 234;
    this.def = function(){
                console.log(this);
            };
    this.foo = function(){
            console.log(this === xxx);
        };
    this.xoo = function(){
            console.log(this === main);
        };
}
var xxx = new main();
xxx.def(); 
xxx.foo();
xxx.xoo();

clipboard.png

これは、main関数に関数やポイントxxx.def見ることができますが、これはプリントアウトする唯一の状況ですが、私たちは、このコンストラクタおよびオブジェクトの達成を印刷するときの違いを比較する際の主コンストラクタよりアウト値で、見ることができますXXX機能と比較した場合に真であることが示され、加工対象物のこのコンストラクタは、現在のインスタンスを指すもの;それは偽です。

これは、我々は偉大な神が指摘できるという希望の欠如何それから、いくつかの助けを必要とする人を与えることを願って、私はこの概要について学んだものです。

おすすめ

転載: www.cnblogs.com/10manongit/p/12651276.html