このエッセイのポイント

この問題に関する最近の研究では要約を作る、エッセイを書くために自分自身を指摘

1.一般的には、この機能

関数fn(){
            名前:「月に雪」
                console.log(この)//出力結果ウィンドウ
        }
        FN();

その理由は、ウィンドウ内の最大の目的は、()関数呼び出しが(window.fnに相当)、このすべての点ウィンドウに直接FN、ウィンドウで、実行されず、関数が呼び出されていない、単純です

 

2.機能でこの割り当て

VARのFn = 関数(){ 
にconsole.log(
この); //出力結果ウィンドウ } のFn()

これは実際には、上記の関数が変数に割り当てられているが、監督者呼び出し、同じ質問です?このポイントは、fn内で機能しない理由、それFN等号、と接続されていないが、あなたは直接FN印刷されない場合ブラケットは、出力は、関数全体の内容であり、そしてそれはグローバル状態で呼び出されるので、実行時に、またはコールにその機能を示す、ダイレクトプリントにこれを指していない括弧、もちろん、このウィンドウの実装であります

3.今回のコンストラクタ

関数スター(のuname){
             この .uname = のuname; 
            にconsole.log(この); 
        } 
        スター();   // コンストラクタは、オブジェクトテンプレート自体であるため、これは、実際には意味しない
        VAR jsnow = 新しい新しいスター(「ハクチョウゲ」); 
        にconsole.log(jsnow){//のunameスター: "ハクチョウゲ"}

出力、ポイントオブジェクトがインスタンス化されています

方法4.this時には、コンストラクタ、この時点

関数スター(のuname){
             この .uname = のuname;
             この .sing = 関数(){ 
                にconsole.log(この);   // 出力スター{のuname: "ハクチョウゲ"、歌う:ƒ} 
            } 
        } 
        VAR jsnow = 新しい新しいスター(「月に雪」); 
        jsnow.sing()

コンストラクタこの時点では、まだインスタンス化されたオブジェクト

プロトタイプ方法5.、場合プラグ

関数のFn(のuname){
             この .uname = のuname; 
        } 
        Fn.prototype.sing = 関数(){ 
            にconsole.log(この); //出力のFn {のuname: "Liuyuexue"} 
        } 
        VAR jsnow = 新しい新規のFn( "6月中の雪" 
        jsnow.sing()

これは、インスタンス化されるオブジェクトを参照します

6.オブジェクトプラグのプロトタイプ法を用いて

関数のFn(のuname){
             この .uname = のuname; 
        } 
        Fn.prototype = { 
            シング:関数(){ 
                にconsole.log(この); 
            }、
            ダンス:関数(){ 
                にconsole.log( "ちょうどSO SO" 
            } 
        } 
        のvar jsnow = 新新のFn( "Liuyuexue" 
        jsnow.sing()   // 出力はまだインスタンス化されたオブジェクトの 
        jsnow.dance()

戻り値と値との関数戻り、単純なデータ型であり、7

VARのFn = 関数(){
             この .age = 18 リターン 1 ; 
        } 
        VARの jsnow = 新規のFn()。
        console.log(jsnow.age)。//输出18

偉大な神は、この辺りの戻り値は、実際に何があり、差がない場合、それは出力結果には影響しません、単純なデータ型であることを説明しました

8.複合データ型の戻り値(I相を学んでいた)、その関数距離

VARのFn = 関数(){
             この .age = 18 リターン ヌル
        } 
        VARの jsnow = 新規のFn()。
        console.log(jsnow.age)。   // 18

戻り値は、実際には18になりました...(特別な思い出が聖歌)

、私は説明できない理由については、ヌルは、それの特殊なオブジェクトであるため、おそらく、正直に言うと、私はデザインがターゲットになるときはnullが、当然のことながら、ライン上の心の中で結論として、いくつかのものが、なぜ追求する必要はありませんなぜ困惑しています。そうでない場合、私は中国の人々が書き込みコードに英語を使用する理由をお願いしたいと思います

複合データ型の戻り値が、時間underfind値を返す場合、この点はオブジェクトにもはや点がインスタンス化されていない、変更されたことを意味するが、複合データ型が返さ

**********

それは、オブジェクトに来るときもちろん、ヌル戻り値は、実際のオブジェクトである、typeof演算時間を印刷し、特別なオブジェクト、ヌルと考えていました

console.log(typeof演算 はnull// オブジェクト

その後はnullを返すときにオブジェクトトライ

おすすめ

転載: www.cnblogs.com/liuyuexue520/p/12088887.html