大きなテーブルから多数のテーブル列を同時に非表示または表示するjQueryコードを書いています。次のようなコードを使用した方が速いかどうか知りたかったのです。
$("selector 1, selector 2, selector 3").css("display", "none");
または次のようなコード:
$("selector 1").css("display", "none");
$("selector 2").css("display", "none");
$("selector 3").css("display", "none");
そこで、jsperf.com を使用してパフォーマンス テスト ケースを作成しました。これにより、最初のタイプのコード (複数のセレクターを持つ 1 つの長い文字列を使用) は、2 番目のタイプのコード (列を 1 つずつ非表示にする) よりも約 53% 高速であることがわかりました。ただし、書き終わる頃には、次のように境界線上で判読不能になります。
$("#table tr *:nth-child(4), #table tr *:nth-child(5), #table tr *:nth-child(6), #table tr *:nth-child(7), #table tr *:nth-child(8), #table tr *:nth-child(9), #table tr *:nth-child(10), #table tr *:nth-child(11), #table tr *:nth-child(12)").css("display", "none");
私の質問は、jQuery/JS コードにとって、非効率なパフォーマンスと読みやすさの欠如のどちらがより大きな悪であるかということです。私のバックグラウンドは Python であるため、パフォーマンスよりも可読性を重視する傾向があり、53% は現実世界での大幅な低下には見えません。しかし一方で、JS コードを展開したら縮小する予定なので、いずれにせよ読み取り不能になるでしょう...コードを元の読み取り可能または読み取り可能な状態に戻すことができる de-minifier がそこにあることは知っていますが、読めないフォーム。ご覧のとおり、私はこのトピックについて輪になって話すことができます。討論や議論を開始するつもりはないので、jQuery/ JS コミュニティ。