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は数字ではないが、データの種類は数字である. NaNは、JavaScriptのうちの唯一の値であり、自身を含むいかなる値にも等しくない値である. NaNは、Booleanで演算するとき、false として扱われる. NaNおよび任意の数(自身を含む)演算結果はNaN である. NaNを判断する方法 どのように非数値を数値に変換しますか?パー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;
いくつかの面接試験問題
以下のコードの出力結果は?なぜですか?
typeof
変数と値の上でtypeofを呼び出すと、この変数または値の種類が示された文字列が返されます.この変数または値が参照の種類であれば、「object」に戻ります.typeof nullが返したobjectは、JavaScriptが最初に設計したエラーのため、現在に使用されています.
戻る判定のタイプは全部で6種類あります.
instance ofは、変数がオブジェクトの一例かどうかを判断します.演算子はブール値を返します.instanceofはオブジェクトと関数を判断するだけで、文字列や数字などを判断することができません.
だからinstance ofは判断ですが、typeofは値を求めます.
どのように変数が数字、文字列、ブール、関数かを判断しますか?
typeof変数名を使うと、この変数の種類の文字列が返されます.このような変数名をaとします.
NaNはJavaScriptの特殊値で、「非数字」(Not a Number)を表しています.
注意
typeof NaN //Number
NaN == NaN //false
Boolean(NaN)//false
NaN+1 //NaN
typeof value === 'number' && isNaN(value);
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;