Widziałem to dziwne zachowanie w tej chwili, że nie mogę określićDlaczego funkcja() {} nie działa, ale (function() {}) działa? (Chrome DevTools/Node)
function(){}
lub
function(a){
console.log(a)
}
zgłasza .
Ale zadziałało test = function(){}
lub (function(){})
.
Narzędzia dev Safari mieć lepszy raport o błędzie: To mówi
SyntaxError: Function statements must have a name.
porządku to nie ma sensu, aby zdefiniować funkcję takiego, że jeśli nie będą go używać. Ale wciąż jest dziwne. Chyba już dostarczyłem odpowiedź w pytaniu.
Zgadzam się, FF również jest w potrzebie nazwy funkcji z wyraźnym komunikatem o błędzie - SyntaxError: instrukcja funkcji wymaga nazwy – hazardous
może dlatego, że nie możesz wykonać 'function() {}()' (jeśli nie używany jako argument), ale możesz zrobić '(function() {})()' – Hacketo
Pierwsza jest niezdefiniowaną składnią funkcji, ale druga to obiekt – SaidbakR