JSインタビューの質問があります。質問は次のとおりです。次のコードの実行結果は何ですか?その理由は何ですか?
コードコピーは次のとおりです。
var i、j、k;
for(i = 0、j = 0; i <10、j <6; i ++、j ++){
k = i+j;
}
document.write(k);
答えは10を表示することです。この質問は、主にJavaScriptのコンマオペレーターを調べます。
MDNによるコンマオペレーターの定義は次のとおりです。
コンマオペレーターは、2つのオペランド(左から右)を計算し、2番目のオペランドの値を返します。
この定義によると、拡張できます。
コンマオペレーターは、2つ以上のオペランドを左から右に計算し、最後のオペランドの値を返します。
次のコードを感じることができます。
コードコピーは次のとおりです。
アラート((0、9));
アラート((9、0));
if(0,9)alert( "ok");
if(9,0)alert( "ok");
実際のコードにおけるコンマオペレーターの役割は何ですか?
1。3番目の変数のない変数を交換します
コードコピーは次のとおりです。
var a = "a"、b = "b";
//方法1
a = [b] [b = a、0];
//方法2
a = [b、b = a] [0];
2。コードを簡素化します
コードコピーは次のとおりです。
if(x){
foo();
return bar();
}
それ以外{
返品1;
}
略すことができます:
コードコピーは次のとおりです。
xを返しますか?(foo()、bar()):1;