something about JavaScript(1)

4281 ワード

JavaScriptは6種類のデータタイプを定義しています.
  • Numberタイプ
  • Stringタイプ
  • Booleanタイプ
  • Objectタイプ
  • undefinedタイプ
  • nullタイプ
  • 元のタイプと複雑なタイプ
  • 元のタイプの数値、文字列、ブール値を元のタイプの値と呼びます.つまり、それらは最も原始的なデータタイプで、これ以上細分化できません.
  • 複雑なタイプで、オブジェクト(Objectタイプ)を複雑なタイプの値と呼びます.一つのオブジェクトは複数の元のタイプの値の合成が多いので、様々な値を格納する容器として見られます.undefinedとnullは2つの特殊な値です.
  • オブジェクトタイプオブジェクトタイプは、さらに3つのサブタイプに細分化されてもよい.
  • 狭義の対象(Object)
  • 配列
  • 関数
  • 正規表現(regexp)
  • typeofとinstance ofの役割と違いについて.
    typeof
    変数と値の上でtypeofを呼び出すと、この変数または値の種類が示された文字列が返されます.この変数または値が参照の種類であれば、「object」に戻ります.typeof nullが返したobjectは、JavaScriptが最初に設計したエラーのため、現在に使用されています.
    戻る判定のタイプは全部で6種類あります.
  • number
  • book
  • string
  • function
  • object
  • undefined
  • instance of
    instance ofは、変数がオブジェクトの一例かどうかを判断します.演算子はブール値を返します.instanceofはオブジェクトと関数を判断するだけで、文字列や数字などを判断することができません.
    だからinstance ofは判断ですが、typeofは値を求めます.
    どのように変数が数字、文字列、ブール、関数かを判断しますか?
    typeof変数名を使うと、この変数の種類の文字列が返されます.このような変数名をaとします.
  • typeof a==number;
  • typeof a==string;
  • typeof a==bollan;
  • typeof a==="function";
  • NaNは何ですか?何か特別なところがありますか?
    NaNはJavaScriptの特殊値で、「非数字」(Not a Number)を表しています.
    注意
  • NaNは数字ではないが、データの種類は数字である.typeof NaN //Number
  • NaNは、JavaScriptのうちの唯一の値であり、自身を含むいかなる値にも等しくない値である.NaN == NaN //false
  • NaNは、Booleanで演算するとき、false Boolean(NaN)//false
  • として扱われる.
  • NaNおよび任意の数(自身を含む)演算結果はNaN NaN+1 //NaN
  • である.
  • NaNを判断する方法typeof value === 'number' && isNaN(value);
  • どのように非数値を数値に変換しますか?
  • パーrseInt()、パースFloat()は、文字列を数値に変換するのに特化されている.
  • Number()は、任意のデータタイプに使用できます.
  • Number()の変換規則:
  • Boolean値であれば、trueとfalseはそれぞれ1と0に変換されます.
  • デジタル値であれば、単純な着信とリターンだけです.
  • null値であれば、0を返します.
  • undefinedであればNaNに戻ります.
  • 文字列であれば、以下の規則に従います.
  • 文字列に数字だけが含まれている場合(前のプラスまたはマイナスの場合を含む)、それを10進数の数値に変換し、1は1になり、123は123になりますが、012は11になります.
  • は無視されました.
  • 文字列に有効な16進数の書式が含まれている場合、「0 xf」のように、同じ大きさの10進数の整数値に変換します.
  • 文字列が空の場合(文字を含まない)、0に変換されます.
  • 上記のフォーマット以外の文字が文字列に含まれている場合、NaNに変換します.
  • オブジェクトであれば、オブジェクトのvalueOf方法を呼び出して、前の規則に従って値を変換します.変換の結果がNaNであれば、オブジェクトのtoString()メソッドを呼び出して、再び前の規則に従って文字列値を変換します.
  • ==と==の違い
  • 「=」:イコール演算ですが、値を比較しないタイプの場合は、両方の値の種類が異なる場合は、まずタイプ変換を行い、比較します.
  • 「==」:完全イコール演算であり、比較値だけではなく、比較値の種類もあります.両方のタイプが一致しない場合、タイプの変換はしません.タイプの違いは一定ではありません.両者が一致してこそ本当です.
    breakとcontinueの違いは何ですか?
  • breakは、循環体を強制的に終了させ、循環後のステートメント
  • を実行するために使用される.
  • continueはこのサイクルを終了するために使用され、次のサイクルを実行します.
    void 0とundefinedは使用シーンにどんな違いがありますか?
    一般的には、ある値をifで判断し、undefinedに等しいかどうかを判断します.しかし、undefinedの代わりにvoid 0を使うのが一般的です.undefinedはwindowsの属性です.使うたびに呼び出すので、比較的に時間がかかります.また、定義をリセットできる変数です.間違いやすいです.void後の演算数は何であれ、undefinedに戻るだけで、vodは省略します.void 1;void 100;
    いくつかの面接試験問題
    以下のコードの出力結果は?なぜですか?
  • console.log(1+1);/2
  • console.log("2"+"4");/「24」
  • console.log(2+"4");/「24」
  • console.log(+"4");/4
  • var a = 1;  
    a+++a;       //a++   1    +a   2 ,       3
    typeof a+2;  //typeof     + 
    
    //    :"number2"
    
    
     var a = 1;
     var b = 3;
     console.log( a+++b );
     
     //    4
     
    
    行列を巡回して、行列内の印刷配列の各項目の平方を
     var arr = [3,4,5];
    
      for(var i = 0 ; i < arr.length ;i++)
      {
        console.log(arr[i]*arr[i]);
      }
    //    
     9
     16
     25
    
    
    JSONを巡回して、中の値を印刷します.
    var obj = {
     name: 'hunger', 
     sex: 'male', 
     age: 28 
    }
    
    for(key in obj){
        console.log(obj[key])
    }
    //     
    hunger
    male
    28
    
    以下のコード出力結果は
    var a = 1, b = 2, c = 3;
    var val = typeof a + b || c >0
    console.log(val) 
    
    //    
    “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!!");
    //(!"world", !!"from here!!")      !!"from here!!" =>true;
    //!!"Hello"=>true
    //true + true =2;