3

スクリプトで 3 つのウィンドウ イベントをチェックしています。

window.onload = updateData;
window.onresize = updateData;
window.onscroll = updateData;

コードを最適化し、これを 1 行で記述するにはどうすればよいでしょうか? 私は試した:

window.onload || window.onresize || window.onscroll = updateData;

しかし、うまくいきません。

4

2 に答える 2

7
window.onload = window.onresize = window.onscroll = updateData;

これが次のような通常の変数割り当てである場合: a = 1 これは 1 を返します。

そのためb = a = 1、 b var は前の代入から値 1 を受け取り、現在の on も結果として 1 を返します。

一方、 updateData 関数は、そのルーチンが同時に実行されるのを防ぐために、いくつかの競合状態制御を実装することをお勧めします。

于 2013-06-25T17:10:32.363 に答える
3

割り当てるプロパティが多数ある場合は、

['onload', 'onresize', 'onscroll'].forEach(function(x){window[x] = updateData})

最終的には短くなります。

于 2013-06-25T17:43:59.607 に答える