ステップタスク2(メインラインタスク):データ型演算子フロー制御文

4591 ワード

課程の任務
1 JavaScriptは何種類のデータタイプを定義していますか?どれがオリジナルタイプですか?どれが複雑なタイプですか?元のタイプと複雑なタイプの違いは何ですか?
データタイプの分類
JavaScript言語の各値は、いずれもデータの種類に属しています.JavaScriptのデータタイプは全部で6種類あります.
  (number):     (  1 3.14)
   (string):       (  "Hello World")
   (boolean):true( ) false( )     
undefined:  “   ”    ,          
null:    ,         ,     
  (object):        
数値、文字列、ブール値は元のタイプで、オブジェクトは複雑なタイプです.元のタイプと複雑なタイプの違い:元のタイプは最も基本的なデータタイプで、更に細分化できません.オブジェクトを複雑なタイプの値と呼び、一つのオブジェクトは複数の元のタイプの値の合成が多いので、様々な値が格納された容器と見なすことができる.undefineとnullは二つの特殊な値と見なすことができる.
2 typeofとinstance ofの役割と違い?
typeof演算子は、値のデータタイプを返します.次の結果があります.number、bootlean、string、object、undefined、function;例:
alert(typeof(1));//number
alert(typeof("abc"));//string
alert(typeof(true));//boolean
alert(typeof(m));//undefined
typeofの役割typeof , typeof . typeofは、演算数を取得するために使用されるデータの種類を示す文字列として返される要素演算子である.返した値はnumber、bootlean、undefined、function、object、string numberがあります.数字はnumberタイプのbootleanに戻ります.bollan値はtrueとfalse undefinedだけです.変数が宣言されていない時はundefinedに戻ります.これはvar nameとなります.alert(name);違います.後者は変数が宣言されていますが、初期化されていません.function:演算数を関数とすると、function Opectに戻ります.オブジェクト、配列、nullはObjectに戻ります.typeofが行列に遭遇するとnullがobjectに戻りますので、あるオブジェクトが配列かまたはある変数が対象かどうかを判断するときはinstance of stringを使います.演算子が文字列であるときはstring instance ofの役割を返します.instance , .
instanceof                  ,    true false
typeof、instanceof、Object.prototype.toString         .

typeof         undefined、function,             null,      object。
     typeof         ,      if(a),    a        。

if (typeof a === 'undefined') {
    //a   
}

instanceof    js                    。              ,           ,          。

function Foo(){}
var foo = new Foo();
console.log(foo instanceof Foo); //true
3どのようにして変数が数字、文字列、ブール、関数がif文で判断されますか?
この変数がvar a=xxxであると仮定すれば、
if(typeof a === "number" || typeof a === "string" || typeof a === "boolean" || typeof a === "function") 
{console.log(typeof a);}
分かります
4 NaNは何ですか何か特別なところがありますか?
NaN:「Not a Number」はこの変数宣言のデータタイプがnumberタイプのデータではないことを表しています.例えば、isNaNを使ってもいいです.戻ることが分かります.他のデータのタイプについては、もちろん解析規則とNumber()は同じです.特に、まず、どのNaNの値でも動作して一つのNaNに戻ります.次に、NaNはどの値とも等しくないつまりNaN==NaNもfalseです.
5どのように非数値を数値に変換しますか?
Number()、parseInt()、あるいはパーパーパーパーミッション()という二つの点だけ強調されています.一つは空の文字列が0に変換されています.次に、パーrseInt/Floatのようなものを使用すると、パrseInt(a,8)のような第二のパラメータが関数に伝達されます.
6==と==の違いは何ですか?
違いは、一つは比較値が等しいかどうか、もう一つはデータタイプと数値の比較が等しいかどうか、すなわち合同です.
7 breakとcontinueは何の違いがありますか?
breakとは、条件が満たされているか、トリガされた後に、すべてのサイクルを直接終了することであり、たとえ後の内容が完全に実行されていなくても、continueとは、条件がトリガされた後に現在のループをスキップして次のサイクルを継続し、次の前後にすべての結果を出力することである.
8 void 0とundefinedは使用シーンにどんな違いがありますか?
undefinedは局所作用領域に上書きされ、void演算はundefinedで返されます.
9以下のコードの出力結果は?なぜですか
console.log(1+1);    //2   number  
console.log("2"+"4");   //24  string  
console.log(2+"4");   //24  2   string  ,   "4"  ,    24;
console.log(+"4");  //4     
10以下のコードの出力結果は?
var a = 1;  
a+++a;  //3   (a++)+a=>3
typeof a+2; //"number2"
11以下のコードの出力結果は?なぜですか
 var a = 1;
 var b = 3;
 console.log( a+++b ); //4
12エルゴード配列は、行列内の印刷配列の各項目の平方を通ります.
 var arr = [3,4,5]
var arr=[3,4,5]for(var i=0;i consone.log(arr[i]*arr[i])]13 JSONを遍歴して、内部の値を印刷します.
var obj = {
 name: 'hunger', 
 sex: 'male', 
 age: 28 
}
for(a in obj){consolie.log(obj[a]);
14以下のコード出力結果は?なぜですか?
var a = 1, b = 2, c = 3;
var val = typeof a + b || c >0
console.log(val) 
出力「number 2」はtypeof a+bがtureで、その後は実行しません.
var d = 5;
var data = d ==5 && console.log('bb')
console.log(data)
bb undefined consoline.logs(bb)出力bb.dは5に等しい.trueは、trueとconsoline.logs()がtrueであるかどうかを判断する.consolie.logsはundefined、undefinedはdataに与えられる.
var data2 = d = 0 || console.log('haha')
console.log(data2)
hahaha undefinedはまずconsone.logs()を実行し、出力hahahahahahahaを判断し、0とconsone.logs(hahahahaha)の中にtrueがあるかどうかを判断し、undefinedを出力し、undefinedをdata 2に割り当てます.
var x = !!"Hello" + (!"world", !!"from here!!");
console.log(x)
2 undefined!「world」はfalseに変換されます.!「from here!」はtrueに変換され、「、」はtrueパラメータに戻ります.!「Hello」はtrueに変換されます.ブール値が加算されると、1と0に変換され、それぞれtrueとfalseに変換されます.最終結果は2.