Costruttori degli oggetti JavaScript
- Pagina precedente Accessore di oggetto JS
- Pagina successiva Prototipo di oggetto JS
Esempio
Corso raccomandato: this.firstName = first; this.lastName = last; this.age = age; function Person(first, last, age, eye) { }
this.eyeColor = eye;
L'abitudine di chiamare le funzioni costruttrici con lettere maiuscole è una buona pratica.
Tipo di oggetto (piano) (classe)
Esempi del capitolo precedente sono limitati. Creano solo un singolo oggetto.A volte dobbiamo creare molti oggetti dello stesso "Piano
".Un modo per creare un tipo di "oggetto" è utilizzare。
funzione costruttore dell'oggettoNell'esempio sopra, funzione Person()
è la funzione costruttore dell'oggetto. new Attraverso
La parola chiave chiama la funzione costruttore e può creare oggetti dello stesso tipo: var myFather = new Person("Bill", "Gates", 62, "blue");
this var myMother = new Person("Steve", "Jobs", 56, "green");
parola chiave this
le cose in JavaScript sono chiamate
this
il valore, quando viene utilizzato nell'oggetto, è l'oggetto stesso.
Nella funzione costruttore,this
Non ha valore. È il sostituto dell'oggetto nuovo. Quando un nuovo oggetto viene creato, il valore di this diventa questo oggetto.
Attenzione this
Non è una variabile. È una parola chiave. Non è possibile modificare il valore di this.
Aggiungere attributi all'oggetto
Aggiungere un nuovo attributo a un oggetto esistente è semplice:
Esempio
myFather.nationality = "English";
Il nuovo attributo è stato aggiunto a myFather. Non a myMother né a qualsiasi altro oggetto person.
Aggiungere metodi all'oggetto
Aggiungere un nuovo metodo a un oggetto esistente è semplice:
Esempio
myFather.name = function () { return this.firstName + " " + this.lastName; };
Il nuovo metodo è stato aggiunto a myFather. Non a myMother né a qualsiasi altro oggetto person.
Aggiungere attributi al costruttore
Diversamente dall'aggiungere un nuovo attributo a un oggetto esistente, non è possibile aggiungere nuovi attributi al costruttore di un oggetto:
Esempio
Person.nationality = "English";
Per aggiungere un nuovo attributo al costruttore, è necessario aggiungerlo alla funzione costruttore:
Esempio
function Person(first, last, age, eyecolor) { this.firstName = first; this.lastName = last; this.age = age; this.eyeColor = eyecolor; this.nationality = "English"; }
In questo modo le proprietà dell'oggetto possono avere valori predefiniti.
Aggiungere metodi al costruttore
Il suo costruttore funzione può anche definire metodi:
Esempio
function Person(first, last, age, eyecolor) { this.firstName = first; this.lastName = last; this.age = age; this.eyeColor = eyecolor; this.name = function() {return this.firstName + " " + this.lastName;}; }
Diversamente dall'aggiungere un nuovo metodo a un oggetto esistente, non è possibile aggiungere nuovi metodi al costruttore di un oggetto.
Deve aggiungere un metodo a un oggetto all'interno del costruttore funzione:
Esempio
function Person(firstName, lastName, age, eyeColor) { this.firstName = firstName; this.lastName = lastName; this.age = age; this.eyeColor = eyeColor; this.changeName = function (name) { this.lastName = name; }; }
La funzione changeName() assegna il valore di name all'attributo lastName dell'oggetto person.
Ora puoi provarlo:
myMother.changeName("Jobs");
Usando myMother
Sostituisci con this,JavaScript può sapere quale persona sta trattando al momento.
Costruttori JavaScript integrati
JavaScript fornisce costruttori per oggetti primitivi:
Esempio
var x1 = new Object(); // Un nuovo oggetto Object var x2 = new String(); // Un nuovo oggetto String var x3 = new Number(); // Un nuovo oggetto Number var x4 = new Boolean(); // Un nuovo oggetto Boolean var x5 = new Array(); // Un nuovo oggetto Array var x6 = new RegExp(); // Un nuovo oggetto RegExp var x7 = new Function(); // Un nuovo oggetto Function var x8 = new Date(); // Un nuovo oggetto Date
Math()
Gli oggetti non sono nella lista. Math è un oggetto globale.new
Le parole chiave non possono essere utilizzate in Math.
Lo sai?
Come visto sopra, JavaScript fornisce oggetti di tipo dati primitivi stringa, numero e booleano. Ma non c'è ragione per creare oggetti complessi. I valori primitivi sono molto più veloci!
Sostituisci con il costruttore letterale di oggetto {}
Sostituisci con new Object()
。
Sostituisci con il costruttore letterale di stringa ""
Sostituisci con new String()
。
Sostituisci con il costruttore letterale numerico Number()
。
Sostituisci con il costruttore letterale booleano new Boolean()
。
Utilizza il costruttore letterale di array []
Sostituisci con new Array()
。
Sostituisci con il costruttore letterale di modello new RexExp()
。
Utilizza l'espressione di funzione () {}
Sostituisci con new Function()
。
Esempio
var x1 = {}; // Nuovo oggetto var x2 = ""; // Nuovo stringa originale var x3 = 0; // Nuovo valore numerico originale var x4 = false; // Nuovo valore logico originale var x5 = []; // Nuovo oggetto array var x6 = /()/ // Nuovo oggetto espressione regolare var x7 = function(){}; // Nuovo oggetto funzione
Oggetto stringa
Di solito, le stringhe vengono create come valori primitivi: var firstName = "Bill"
Ma può anche essere utilizzato new
Keyword per creare oggetti stringa: var firstName = new String("Bill")
Per favore Stringa JSIn questa sezione imparerai perché non si dovrebbe creare stringhe come oggetti.
Oggetto numerico
Di solito, i numeri vengono creati come valori primitivi: var x = 456
Ma può anche essere utilizzato new
Keyword per creare oggetti numerici: var x = new Number(456)
Per favore Numero JSIn questa sezione imparerai perché non si dovrebbe creare numeri come oggetti.
Oggetto booleano
Di solito, i valori logici vengono creati come valori primitivi: var x = false
Ma può anche essere utilizzato new
Keyword per creare oggetti logici: var x = new Boolean(false)
Per favore Logica JSIn questa sezione imparerai perché non si dovrebbe creare valori logici come oggetti.
- Pagina precedente Accessore di oggetto JS
- Pagina successiva Prototipo di oggetto JS