typeof、undefined、null


typeofは演算子であり,関数ではなく演算子であることに注意し,その役割は変数がどのようなタイプであるかを考察することである.あるいは、変数が定義されているか、初期化されているかどうかのレンズです.戻り値は文字列です.
undefinedは、オブジェクトが定義されていないか、初期化されていないことを示します.
nullは、まだ存在しないオブジェクトのプレースホルダを表します.
テスト1、変数が定義されていない場合はtypeofしか使用できません
    <input type="button" id="btnTest" onclick="Test()" value=" " />
    <script type="text/javascript">
        function Test() {
            alert(i == null);               // 
            alert(i == undefined);          // 
            alert(typeof i == "undefined"); //true
        }
    </script>

テスト2、変数は定義されていますが、初期化されていません.typeof、undefined、nullは使用できます.
   <script type="text/javascript">
        function Test() {
            var i;
            alert(i == null);               //true
            alert(i == undefined);          //true
            alert(typeof i == "undefined"); //true
            i = 0;
            alert(i == null);               //false
            alert(i == undefined);          //false
            alert(typeof i == "undefined"); //false
        }
    </script>

テスト3、関数パラメータは変数と似ています
1、パラメータなし
    <input type="button" id="btnTest" onclick="Test()" value=" " />
    <script type="text/javascript">
        function Test(i) {
            alert(i == null);               //true
            alert(i == undefined);          //true
            alert(typeof i == "undefined"); //true
        }
    </script>

2、パラメータあり
    <input type="button" id="btnTest" onclick="Test(0)" value=" " />
    <script type="text/javascript">
        function Test(i) {
            alert(i == null);               //false
            alert(i == undefined);          //false
            alert(typeof i == "undefined"); //false
        }
    </script>

参考記事:クリックしてリンクを開く