Jaka jest konwencja JavaScript dotycząca braku operacji? Jak pass
polecenie w Pythonie .
- Jedną z opcji jest po prostu pusta funkcja:
function() {}
- Oferty jQuery
$.noop()
, które po prostu wywołują pustą funkcję powyżej. - Czy dopuszczalne jest po prostu wpisanie wartości
false
lub0
?
W kontekście ... wszystkie te działają bez zgłaszania błędu w Chrome:
var a = 2;
(a === 1) ? alert(1) : function() {};
(a === 1) ? alert(1) : $.noop();
(a === 1) ? alert(1) : false;
(a === 1) ? alert(1) : 0;
EDYCJA: Wiele osób odpowiedziało „nie rób tego! Zmień strukturę kodu!” To przypomina mi post, w którym ktoś zapytał, jak powąchać przeglądarkę. Otrzymał lawinę postów z napisem „NIE ROBIĆ TEGO! TO ZŁO”, ale nikt nie powiedział mu, jak wąchać przeglądarkę . To nie jest przegląd kodu. Wyobraź sobie, że masz do czynienia ze starszym kodem, którego nie można zmienić i bez przekazania jakiejś funkcji spowoduje wyświetlenie błędu. Lub po prostu klient tego chce i płacą mi . Tak więc, z szacunkiem, odpowiedz na pytanie : Jaki jest najlepszy sposób określenia funkcji „brak operacji” w JavaScript?
EDIT2: A co z jednym z nich?
true;
false;
0;
1;
null;
0
jest w rzeczywistości lepsza (ani gorsza). Powiedziałbym, że właściwą rzeczą jest if (a === 1) doSomething();
i nie używać, ? :
gdy nie ma to sensu.
if (statement) action; else ;
false
lub 0
będzie działać; null
to dobry sposób na wyrażenie zgody na nie.