Differenza fondamentale tra fn () e nuova fn () in javascript

10

In che cosa tutti gli aspetti, chiamando una funzione con e senza nuova parola chiave differiscono in javascript? Intendo cosa differiscono tra tutte le cose?

testFn() vs new testFn()

    
posta akp 12.01.2013 - 15:59
fonte

2 risposte

11

new crea un nuovo oggetto (vuoto) e imposta this su di esso, quindi chiama la funzione, che funge da costruttore per l'oggetto (manipolando this . qualcosa ) . Chiamare la stessa funzione senza la parola chiave new lascerebbe agire su qualunque cosa sia this attualmente.

    
risposta data 12.01.2013 - 16:40
fonte
1

Queste varianti sono sintatticamente diverse: con la "nuova" variante si suppone che la funzione sia un costruttore. La variante senza "nuovo" suppone, che è non un costruttore.

    
risposta data 13.01.2013 - 13:06
fonte

Leggi altre domande sui tag