JavaScriptのデータタイプと基礎演算子の使用

4249 ワード

JavaScriptはいくつかのデータタイプを定義していますか?どれがオリジナルタイプですか?どれが複雑なタイプですか?元のタイプと複雑なタイプの違いは何ですか?
  • の6つのタイプのデータは、それぞれstring number boolean undefined null object
  • である.
  • string number booleanは元のタイプであり、最も基本的なデータタイプ
  • でもある.
  • objectは複雑なタイプであり、一つのオブジェクトは複数の元のタイプの値から合成され、また、様々な値を格納することができるコンテナ
  • である.
  • 元のタイプの変数の値を区別します.複雑なタイプの変数はメモリアドレス参照リンク
  • です.
    typeofとinstance ofの役割と違い?
  • typeofは、基本データタイプ
  • を返すことを検出する.
    typeof 'bolong';
    "string"
    typeof 1
    "number"
    typeof  true
    "boolean"
    typeof undefined
    "undefined"
    typeof null
    "object"
    typeof []
    "object"
    typeof {}
    "object"
    typeof function fn(){}
    "function"
    
  • instanceofは、変数があるオブジェクトかどうかを判断するためのブール値を返すことを検出する
  • の例である.
    var arr = [1, 2, 3];
    arr instanceof Array
    true
    var obj = {};
    obj instanceof Object
    true
    var str = 'bolong';
    str instanceof String
    false
    
    どのように変数が数字、文字列、ブール、関数かを判断しますか?
    typeof 'bolong';
    "string"
    typeof 1
    "number"
    typeof  true
    "boolean"
    typeof function fn(){}
    "function"
    
    NaNは何ですか何か特別なところがありますか?
  • NaNは、全称Not a Numberが1つの数字ではなく、NaNはnumberタイプの値であり、NaNといかなる値も等しくなく、それ自体を含み、計算結果がJS表示可能なデジタルタイプに変換できない場合、または結果がデジタルタイプに変換できない場合、NaN
  • に戻る.
    NaN != NaN
    true
    
    どのように非数値を数値に変換しますか?
  • Number()は、与えられた値をデジタル
  • に変換する.
  • parseInt()は、値を整数
  • に変換する.
  • parseFloat()は、値を浮動小数点
  • に変換する.
    ==と==の違いは何ですか?
  • ==等しい演算子(2つの値が等しいかどうかを比較する)
  • '2017' == 2017
    true
    
  • ===は、厳密に等しい演算子(それらが「同じ値」であるかどうかを比較すると、2つの値が同じタイプでない場合は、falseに直接に戻る)
  • を返します.
    true === "true"
    false
    
    breakとcontinueの違いは何ですか?
  • breakは、このサイクルを強制的に終了させるためのものである
  • .
  • continueは、このサイクルを終了するために、次のループ
  • を実行する.
    void 0とundefinedは使用シーンにどんな違いがありますか?
  • void 0演算後の戻り値はundefinedであり、書き換えられない
  • である.
  • undefinedは、部分的な作用領域で書き換えられ得るものであり、1つの変数がundefinedと等しいかどうかを判断するには、void 0を使用して比較
  • を行うことができる.
    function f(){
        var undefined = 100;
        var str;
        if(str == undefined){
            console.log('  ');
        }else{
            console.log('   ');
        }
    }
    f(); //      ,  undefined     100
    function f(){
        var undefined = 100;
        var str;
        if(str == void 0){
            console.log('  ');
        }
    }
    f(); //     
    
    以下のコードの出力結果は?なぜですか
    console.log(1+1);    // 2       
    console.log("2"+"4");  // '24'  2 4      ,                
    console.log(2+"4"); // '24'                                    
    console.log(+"4");  // 4      1                   
    
    以下のコードの出力結果は?
    var a = 1;  
    a+++a;  //   3,   ++   +      ,    a++ 
    typeof a+2; //   number2,   typeof   +      ,    typeof a    number
    
    以下のコードの出力結果は?なぜですか
    var a = 1;
    var b = 3;
    console.log( a+++b );
    
  • は4を出力します.+は+より高いので、a++は(a++)+b => 1+3 => 4
  • に相当します.
    行列を巡回して、行列内の印刷配列の各項目の平方を
    var arr = [3,4,5]
    for(var i = 0; i < arr.length; i++) {
        console.log(arr[i] * arr[i]);
    }
    
    JSONを巡回して、中の値を印刷します.
    var obj = {
     name: 'hunger', 
     sex: 'male', 
     age: 28 
    }
    for (var i in obj) {
        console.log(obj[i]);
    }
    
    以下のコード出力結果は?
    var a = 1, b = 2, c = 3;
    var val = typeof a + b || c >0
    console.log(val)  //   number2,         typeof a + b    "number2", c > 0    true,"number2"||ture   "number2"。
    
    var d = 5;
    var data = d ==5 && console.log('bb')
    console.log(data) //    bb,&&    ,        
    
    var data2 = d = 0 || console.log('haha')
    console.log(data2) //    haha,                
     
    var x = !!"Hello" + (!"world", !!"from here!!");
    console.log(x) //    2 ,   !     ,   false  == 0,  !!      ,   true  == 1,               ,           。