ステップ2:データ型演算子フロー制御文

7086 ワード

1.JavaScriptはいくつかのデータタイプを定義していますか?どれがオリジナルタイプですか?どれが複雑なタイプですか?元のタイプと複雑なタイプの違いは何ですか?
  • JavaScript言語の各値は、いずれもデータの種類に属する.JavaScriptのデータタイプは全部で6種類あります.1.数値(number):整数と小数(例えば1と1.34)2.文字列(string):文字構成のテキスト(例えば「hello world」)3.ブール値(bollan):true(真)とfalse(偽)の2つの特定値4.undefined:「未定義」または存在しないことを示す.つまり、ここには5.nullがない.しかし、現在は空6.オブジェクト:各中間値からなるセット
  • 元のタイプに属するものは、数値、文字列、ブール値
  • である.
  • は、複雑なタイプのオブジェクト
  • である.
  • 特殊値:undefinedとnull
  • 元のタイプと複雑なタイプの違い:元のタイプは最も基本的なデータタイプで、これ以上細分化できません.複雑なタイプの値は、一つのオブジェクトが複数の元のタイプの値の合成であることが多いので、様々な値を格納する容器として考えられます.
  • 2.typeofとinstance ofの役割と違い?
    JavaScriptには三つの方法があります.一つの値がどのタイプなのかを確認できます.
  • typeof演算子
  • instance of演算子
  • Object.prototype.toString方法
  • typeofについて:1.数値、文字列、ブール値はそれぞれnumber、string、bollanを返す.
    typeof 123 // "number"
    typeof '123' // "string"
    typeof false // "boolean"
    
    2.関数はfunctionに戻ります.
    function f() {}
    typeof f
    // "function"
    
    3.undefinedはundefinedに戻ります.
    typeof undefined
    // "undefined"
    
    この点を利用して、typeofは宣言されていない変数を確認するために使用できます.実際のプログラミングに適用:
    //      
    if (v) { }  // ReferenceError: v is not defined
    
    //      
    if (typeof v === "undefined") { }
    
    4.その他の場合はすべてobjectに戻ります.
    typeof window // "object"
    typeof {} // "object"
    typeof [] // "object"
    typeof null // "object"
    
    instanceofに対して、配列とオブジェクトを区別する.
    var o = {};
    var a = [];
    o instanceof Array // false
    a instanceof Array // true
    
    両者の違い:typeof演算子:演算子は、元のデータの種類を説明するために文字列を返しても良いです.instanceof演算子:演算子は、変数があるオブジェクト(クラス)の例であるかどうかを判断し、戻り値はブールタイプである.
    3.どのように変数が数字、文字列、ブール、関数かを判断しますか?
    先例に倣う
    typeof 123 === 'number'        
    typeof '123' === 'string'         
    typeof true ==='boolean'        
    function f() {}
    typeof f ==='function'        
    
    4.NaNは何ですか何か特別なところがありますか?
    NaNはNot a Numberを意味し、非数字を表し、NaNといかなる値も等しくない.自分を含む.
      NaN == NaN; //false
      parseInt('abc'); //NaN
    
    特に、NaNの値はいずれもNaNに戻ります.2.NaNはどの値にも等しくないです.NaN==NaNもfalseです.
    5.非数値をどのように数値に変換しますか?
    非数値を数値に変換できる3つの関数があります.
    1. Number()
    2. parseInt()
    3. parseFloat()
    
    第1の関数、すなわち変換関数Number()は、任意のデータタイプに対して使用でき、他の2つの関数は、文字列を数値に変換するために特に使用される.この3つの関数は同じ入力に対して異なる結果を返します.
    Number()関数の変換規則は以下の通りです.
  • Boolean値であれば、trueとfalseはそれぞれ1と0に変換される.
  • デジタル値であれば、単純な着信とリターンだけです.
  • null値であれば、0を返します.
  • undefindeであれば、NaNに戻る.
  • 文字列であれば、次の規則に従います.1.文字列に数字だけが含まれている場合(前のプラスまたはマイナスの番号が含まれている場合)、それを10進数の数値に変換します.つまり、1は1になり、123は123になり、011は11になります.2.文字列に有効な浮動小数点フォーマットが含まれている場合、「1.1」のように対応する浮動小数点値に変換する(同様に、先頭ゼロも無視される).3.文字列に有効な16進数の書式、例えば「0 xf」が含まれている場合、それを同じ大きさの10進数の整数値に変換します.4.文字列が空の場合(文字は一切含まない)、0に変換します.5.文字列に上記のフォーマット以外の文字が含まれている場合は、NaNに変換します.オブジェクトであれば、オブジェクトのvalueOf()メソッドを呼び出して、前の規則に従って戻り値を変換します.変換の結果がNaNであれば、オブジェクトのtoString()メソッドを呼び出し、再び前の規則に従って文字列値を変換する.
  • ParseInt()関数の変換規則は以下の通りである.
  • 文字列の前の空白文字を無視して、最初の空白文字
  • を見つけます.
  • もし最初の文字が-または数字でないならNaN
  • に戻ります.
  • 最初の文字が数字文字であれば、解析が完了するまで第二の文字を解析し続けます.例えば「1234 blue」は1234に変換されます.「blue」は完全に無視されます.
  • の先頭は8進数として、0 xの先頭は16進数としますが、2番目のパラメータ指定基数
  • を指定することができます.
    パーrseFlaoat()はパーrseInt()の関数と似ています.2点の違いがあります.
  • parseInt()は、「22.34.5」を解析するとき、22に変換します.小数点は有効な数字文字ではないからです.パーrseFloat()は、パーrseFloat()が解析時に無効な浮動小数点の数字文字に出会うまで、22.34に変換することができ、上述の文字煉瓦の中の第一小数点は有効である.
  • ParseInt()とParseFloat()の第二の違いは、常にプリアンブルのゼロを無視することである.
  • parseInt('blue'); //NaN         NaN
    parseInt('-23ABS'); // -23
    parseInt('0xf1'); // 241
    parseInt('101', 2); // 5,   2  101     
    
  • ==と=にはどのような違いがありますか?=厳格な意味での等しいです.NaNとNaNの違いに注意すればいいです.使用するときは、javascriptがタイプ転換をしてくれます.いくつかの不思議な結果をもたらします.それでは==を使う時に、該当するタイプの転換をします.もし二つの値が同じなら、厳密に等しい演算を行います.もし一つはnullで、一つはundefinedです.二つは数字なら、同じです.一つは文字列で、まず文字列を数字にして比較します.3.一つの値がtrue/falseであれば、それを1/0に変えて比較します.一つの値が対象である場合、一つは数字または文字列であれば、valueOfとtostring変換を使って5を比較してみます.他は
  • と等しくありません.
    6.==と==の違いは何ですか?
    この二つの値の等しい性を判断します.その違いは「==厳格な意味の等しい」ということです.NaNとNaNの違いに注意すればいいです.使用する時、javascriptはタイプ転換をしてくれます.
  • 、2つの値のタイプが同じであれば、厳密に等しい演算を実行する
  • .
  • .2つの値のタイプが違っている場合、1つがnullであり、一つがundefinedである場合、等しい2.一つが数字であり、一つは文字列であり、最初に文字列を数字に変えてから比較する3.もし一つの値がtrue/falseであれば、それを1/0に変えて比較する4.もし一つの値が対象であれば、一つは数字または文字列である.valueOfとtoString変換を使って5を比較してみます.他は同じではありません.
  • 7.breakとcontinueは何の違いがありますか?
    これらの2つのキーワードは、ループステートメントでbreakを使用して、循環体から強制的に終了するために使用され、ループの後のステートメントcontinueを実行して、このループを終了するために使用され、次のループを実行します.
    8.void 0とundefinedは使用シーンで何の違いがありますか?
    void演算子は、式を実行してundefinedに戻ります.しかし、いくつかの状況下ではundefinedは与えられます.例えば、関数の中ではundefinedでは判断できません.ですから、void 0でundefinedに戻り判定を行います.Window.undefinedを原形チェーン上で検索する時間を減らしただけでなく、誤って修正されたundefinedを使うことも避けました.
    9.以下のコードの出力結果は?なぜですか
    console.log(1+1);    //      2,             ,      
    console.log("2"+"4");  //      "24",         ,           
    console.log(2+"4"); //      "24",      ,                                    
    console.log(+"4");//      "4",                       
    
    10.以下のコードの出力結果は?
    var a = 1;  
    a+++a;  //     3,  ++    +        ,       a++ +a, a++   1,  a   1  2,    =1+2=3。
    typeof a+2; //      "number2",  typeof     +   ,       typeofa +2,typeofa     number,        ,              ,    "number2'
    
    11.以下のコードの出力結果は?なぜですか
    var a = 1;
    var b = 3;
    console.log( a+++b );//     4,  ++        +,  a+++b=(a++)+b=1+3=4。
    
    12.行列を巡回し、行列内の印刷配列の各項目の平方を移動します.
    var arr = [3,4,5]
    for(i=0,i
    13.JSONを遍歴し、中の値を印刷する
    var obj = {
     name: 'hunger', 
     sex: 'male', 
     age: 28 
    }
    for(var key in obj){
    console.log(obj[key])
    }
    
    14.以下のコード出力結果は?なぜですか
    var a = 1, b = 2, c = 3;
    var val = typeof a + b || c >0
    console.log(val) //     "number2",  typeof             ,      typeof a,    "number",    +b,
      ||        "number2",       || ,     true ,    ,         ,          。
        "number2"。
    
    var d = 5;
    var data = d ==5 && console.log('bb')
    console.log(data)//     undefined,  ==             ,  d==5         true,     &&   
       console.logo('bb'),   undefined(bb    ),    var data =true && undefined,        undefined。
    
    var data2 = d = 0 || console.log('haha')
    console.log(data2)//     undefined,  =              ,      0||console.logo('haha'),
      0      false,       ||       console.log('haha'),     undefined(      'haha'),
          var data2=d=undefined,       undefined。
     
    var x = !!"Hello" + (!"world", !!"from here!!");
    console.log(x)//     2,           true,    
    !!"Hello"   true,
    !"world"   false,
    !!"from here!!"   true,
             ,           ,        ,         true。
        var x=true+true=1+1=2,         2。