Ho un blocco di codice JavaScript come indicato di seguito nella mia pagina html. Quando eseguo questo caricando la pagina. Sto ottenendo di sotto l'uscita sulla mia console del browser."Unchaught TypeError: undefined non è una funzione" nel blocco di codice JavaScript
outer world
Uncaught TypeError: undefined is not a function
Come si può vedere nel frammento di codice, io non sto eseguendo la funzione denominata b
in qualsiasi parte del codice. Ma durante l'esecuzione del codice, l'output di tale funzione viene fornito con uno undefined is not a function error
che non ho potuto trovare da nessuna parte nel mio blocco di codice.
Per aggiungere altro a questo scenario, non sono presenti registri quando rimuovo una delle parti nel codice. questo è. Se rimuovo l'inizializzazione di b dal codice allora non ci sono errori e output. Anche se rimuovo il blocco funzione autoeseguente, non ci sono log o errori. È vero che la riga di inizializzazione di b manca un punto e virgola. ma ciò che lo spinge a fornire una tale uscita mi confonde. Mi aiuteresti a capire un ragionamento per questo comportamento?
Potete per favore aiutarmi a capire perché sta succedendo così?
var b = function() {
console.log('outer world');
}
(function() {
})();
Infine, un esempio in cui Javascript non inserisce automaticamente un punto e virgola in cui sembra intuitivo aggiungerlo! – Barmar
Tutto ciò che inizia con '(' o '[' needs' ;. prima di esso. – kornieff
Sì. Questo mi aiuta a capire lo scenario.Vuoi incorporare i collegamenti che Barmar ha fornito nella risposta di Rickard Staaf. Mi ha aiutato a capirlo di più. – mithunsatheesh