JavaScriptのいくつかの知識の破片(2)-反射-グローバル変数-フィードバック

3590 ワード

JavaScriptでの反射:プログラミング言語での反射原理は同じです.metadata(言語を記述する言語)を操作することによって、反射機能を持たない言語を完成するのは難しい機能です.静的言語では、反射は大きなものです.例えば、運行時に動的に方法を作って呼び出したり、遅延結合などをします.八九年前にC啱22002;の反射を初めて使った時、その興奮ぶりは格別です.しかし、動的言語の世界では、多くの機能が反射によって実現される必要はないので、javascriptの反射は比較的簡単になります.したがって、javascriptの反射の主な使い方は、typeof、instance of、hasOwn Propertyのようないくつかです.
var alteral={
name:"a lteral"
};

console.log(typeof alteral );//object 
console.log(alteral.hasOwnProperty("name"));//true
console.log(alteral.hasOwnProperty("gender"))//false;

var fun = function(){
var subfun=function(){
return null
};
};

typeof(fun);
console.log( fun instanceof Function); //true
 
グローバル変数:
javascriptでは、任意の場所でグローバル変数を定義できます.アプリケーションが便利なようです.コードが規模になって、ファイルを切り分けたら、もう終わりです.コンパイラは構いません.管理できます.
二つの方法:
1.全てを一緒に書いて、プログラムの一番上の部分のように管理しやすいです.
2.グローバル変数を書く容器は、使用時にすべてのグローバル変数を投げ込みます.このようなメリットも統一管理で検索しやすいです.
var variableBag={
}
 
JavaScriptでは、関数をパラメータとして別の関数に導入し、この関数は適切なときに着信パラメータを呼び出す.コードの例を使って説明します.
function mainfunction(callback){//        ,     callback      。

    //     ,    1   ,       callback
    var startTime = new Date().getTime(); 
    while (new Date().getTime() < startTime + 1000);
    var now = new Date().getTime();
    
    callback(now);//       
};

function afunction(time){//  callback  
    console.log("afunction is called");
    console.log(time);
};

mainfunction(afunction);//      
 
このコードを実行した結果、一秒後のコールバック関数afunctionが宿主関数によって呼び出され、同時に宿主関数がafunctionにパラメータを伝達することが重要です.実際には,伝達パラメータはすべてコールバック関数であり,依存する内容を正確に実行するためである.