データタイプ演算子とフロー制御文

5114 ワード

JavaScriptはいくつかのデータタイプを定義していますか?どれがオリジナルタイプですか?どれが複雑なタイプですか?元のタイプと複雑なタイプの違いは何ですか?
  • JavaScriptは6種類のデータタイプを定義しています.
  • 数値(number):整数と小数
  • 文字列(string):文字構成のテキスト
  • ブール値(Boolean):trueとfalseの真伪の2つの特定値
  • undefined:未定義または存在しないこと、すなわち現在定義されていないことを意味するので、ここには一時的にいかなる値もない
  • .
  • null:無価値を表し、一時欠員
  • オブジェクト:各種の値からなる幾何学
  • 元のタイプも基本タイプ(数値、文字列、ブール値を含む)と呼ばれます.
  • 複雑なタイプで、参照タイプとも呼ばれる.オブジェクトはしばしば複数のオリジナルタイプの組み合わせに値するので、一つの保存価値のある容器と見なされる.
  • 違い:
  • 元のタイプの値は可変ではなく、参照タイプの値は変更可能な
  • である.
  • 元のタイプは、属性と方法を追加することができません.
  • 元のタイプの賦課は単純な値であり、一つの変数から他の変数への基本タイプの値は直接に新しい変数割り当ての位置にコピーされます.複雑なタイプは、割り当て時にコピーされたアドレスだけがコピーされません.
  • 基本型変数は値であり、複雑型変数はメモリアドレス
  • である.
    typeofとinstance ofの役割と違い?
  • 作用:
  • type:与えられた変数のデータタイプを検出し、演算数のデータタイプを説明する文字列値を返します.typeofは関数ではなくオペレータです.typeofオペレータによって関数と他のオブジェクトを区別する必要があります.
  • instance of:ある引用タイプの値が具体的にどのタイプのオブジェクトかを判断し、変数が与えられた参照タイプであればtrueに戻り、逆にflaseに戻ります.すべての参照タイプの値はObjectの例であり、instance ofオペレータは参照タイプの値とObjectコンストラクタを検出するときは常にtrueに戻り、基本タイプの値を検出して常にflase
  • に戻る.
  • 違い:
  • typeofは、一つの値が文字列、数値、ブール値またはundefinedであるかを判定するために使用されてもよいが、オブジェクトタイプの値とnull基本タイプの値を判断するために使用できない.いずれもObjectに戻り、typeofも変数が
  • にあるかどうかを判断するために使用されてもよい.
  • instance ofは、参照タイプの値がどのタイプのオブジェクトなのかを決定するために使用されるので、オブジェクトと関数
  • を判断するためにのみ使用されることができる.
    どのように変数が数字、文字列、ブール、関数かを判断しますか?
    typeof操作で
    1.    
    typeof 100 // "number"
    typeof 'hello' // "string"
    typeof true // "boolean"
    
    2.  
    function f() {}                
    typeof f   // "function"
    
    NaNは何ですか何か特別なところがありますか?
  • NaNは非数値(not a number)であり、本来返すべき数値の操作数が数値に戻らない場合(エラーを出さない)を示す特殊な数値である.他のプログラミング言語では、任意の数値を非数値で割るとエラーが発生してコードの実行を停止しますが、ECMAScriptでは、任意の数値を非数値で割るとNaNに戻り、他のコードの実行に影響を与えません.
  • NaNに関する任意の操作はNaNに戻ります.この特徴は、複数のステップで急速に進行することにより、問題を引き起こす可能性があります.
  • NaNは、NaN自体
  • を含むいかなる値とも等しくない.
    どのように非数値を数値に変換しますか?
  • number()関数、変換規則は以下の通りです.
  • Boolean値、trueとflaseはそれぞれ1と0
  • に変換されます.
  • 数値は、
  • を返します.
  • nullは、0
  • を返します.
  • undefinedはNaN
  • に戻ります.
  • パーrseInt方法は、文字列を整数に変換するために使用される.文字列の先頭にスペースがある場合、スペースは自動的に削除されます.パラメータが文字列でない場合は、最初に文字列に変換します.文字列が整数に変換されるときは、数字に変換できない文字があったら、次から次へと進みません.文字列の最初の文字が数字に変換できない場合(後に数字の正負番号を除いて)、NaN
  • に戻ります.
  • パースFloat()は、一つの文字列を浮動小数点
  • に変換するために使用される.
    ==と==の違いは何ですか?
  • ES 5は、2つの異なる値比較動作を提供する.
  • 厳密に等しい==合同オペレータは2つの値が等しいかどうかを比較し、2つの比較された値は比較前にタイプ変換を行わない.二つの比較された値が異なるタイプを持つ場合、この二つの値は等しくない.そうでなければ、2つの計算された値のタイプが同じなら、値も同じで、numberタイプではない場合、2つの値は合同です.
  • 緩和等しい==比較前に、2つの比較された値を同じタイプに変換する(等式の側または両方が変換される可能性がある)
  • breakとcontinueの違いは何ですか?
  • break文は、サイクルから飛び出すために使用されます.break文がサイクルから飛び出すと、このサイクルの後のコード
  • が実行されます.
  • continue文は、サイクル中の反復を中断し、指定された条件があれば、次にループ中の次の反復を継続する.
    void 0とundefinedは使用シーンにどんな違いがありますか?
  • voidは演算子であり、後に与えられた表式に対して値を求めてundefinedを返す.undefinedはワードを保留するのではなく、グローバルオブジェクトの属性の一つであり、下位バージョンのIEまたはローカルスコープで書き換えられる可能性がある(これは弊害があるので、ES 5の後にwindow.undefinedは書き込み不可、配置不可の属性として定義される).しかし、void 0が返した値は必ずundefinedで、書き換えられません.
  • は、関数宣言ではなく、JavaScriptエンジンによって関数表現として認識させる.通常は先に関数を宣言してから関数を呼び出して結果を得る:void演算子を使ったら、関数はすぐに実行される関数式として認識される(voidを除いて、ほとんどの演算子は、+、−などのようなすぐに関数の役割を果たすが、副作用が生じる可能性がある)
  • 以下のコードの出力結果は?なぜですか
    console.log(1+1);    2;               
    console.log("2"+"4");    "24" ;           
    console.log(2+"4");   "24";          ,                 
    console.log(+"4");  4;  +        ,           
    
    以下のコードの出力結果は?
    var a = 1;  
    a+++a;  
    typeof a+2;
    // "number2"
    //  ++      +,  a++ 1,   a   2, a+++a,1+2=3;
    //typeof      +,  typeof a  "number",  "number"+2,        ,      "number2"
    
    以下のコードの出力結果は?なぜですか
     var a = 1;
     var b = 3;
     console.log( a+++b );
    //    4
    //   ++      +,a++ 1,1+b=1+3=4
    
    行列を巡回して、行列内の印刷配列の各項目の平方を
    var arr = [3,4,5]
    for(var i=0; i
    JSONを巡回して、中の値を印刷します.
    var obj = {
     name: 'hunger', 
     sex: 'male', 
     age: 28 
    }
    for (var n in obj) {
      console.log(obj[n])
    }
    
    以下のコード出力結果は?どうしてですか?
    var a = 1, b = 2, c = 3;
    var val = typeof a + b || c >0
    console.log(val) 
    // "number2",   : typeof     +,typeof a + b =》"number2",   ||     true      ,                  true,      "number2"
    var d = 5;
    var data = d ==5 && console.log('bb')
    console.log(data)
    //undefined 
    //  :=   ,   3,==     10,&&   6,     ==,  d==5,  true,    console.log   'bb',           undefined,        ,true&&undefined  undefined    data,     data undefined,                bb undefined。
    var data2 = d = 0 || console.log('haha')
    console.log(data2)
     // undefined,   :d = 0    undefined,      false, ||     false        , console.log     undefined。
    var x = !!"Hello" + (!"world", !!"from here!!");
    console.log(x)
    // 2,   :!    ,!!             ,          true,  !!"Hello"=》true;,         ,    !!"from here!!"=》true; +         ,          ,true       1,  x = 1 + 1.