2

私は今日多くのものを探していましたが、ここSOで知らなかったものをいくつか見つけた後...だから、どれが最速かを確認することにしました。これが私が持っているものです..

&&よりも2倍高速ですif and condition?a:b;

http://jsperf.com/speed-test-for-conditions

驚くべきことです。それとも私のブラウザだけですか?

これについてどう思いますか、パフォーマンスはそれだけの価値があると思いますか。つまり、アプリが 2 倍速く動作し始める場合です。コーディング スタイルを変な && s に変更する価値はありますか?

4

1 に答える 1

3

あなたのコード スニペットは同じことをしません。JavaScript の論理 AND は短絡するため、この(x = 'default')部分が実際に実行されることはありません。コードは次のように解釈されます。

(x == undefined) || (null && (x = 'default'))

x == undefinedisであるためtrue、OR の 2 番目の部分は実行されません。これは、2 番目の部分のブール値に関係なく、式全体が true になるためです。

括弧を追加すると、最初と 3 番目のスニペットは同じ速度になります(少なくとも私にとっては)。

(x == undefined || null) && (x = 'default')
于 2013-07-04T21:58:31.727 に答える