2017-01-05 1 views
2

Le code ci-dessous est ce que j'ai dans mon exemple de fichier html.Est-ce qu'une instruction 'this.xxx' dans un objet déclare également une propriété nommée xxx?

function Blog(body, date) { 
    // Assign the properties 
    this.body = body; 
    this.date = date; 
} 

Il n'y a pas de déclaration, je vois. Je pense qu'il est censé avoir quelque chose comme ça avant ces deux déclarations: var body; var date;

Ou ces deux instructions fonctionnent-elles aussi comme des déclarations?

+0

Si ma mémoire fonctionne encore, vous devez faire 'var body; var date; ' – Jerome

+1

Dans l'orientation objet de Javascript, les propriétés d'objets peuvent être remplies via des instructions d'affectation. –

Répondre

2

Si je comprends bien la question avec votre code:

var puppies = new Blog(samplebody, 'some/date/here'); 

console.log(puppies.date); 

//prints out some/date/here to the console 

C'est parce que « chiots » a déjà été déclaré comme un objet. Toute variable déclarée dans la "fonction" this.key = value; consiste simplement à ajouter une paire de valeurs de clé à l'objet.

Vous pouvez ignorer des variables spécifiques qui sont affectées à un objet javascript défini. Pensez-y comme définissant de nouveaux éléments dans un objet de dictionnaire.

Une fois le dictionnaire défini, vous pouvez y ajouter des éléments sans les définir individuellement:

var person = {}; 
person.name = 'Murphy'; 
person.favoriteBook = 'The Hungarian Caterpillar'; 
+0

Puis-je ignorer 'var key 'à tout moment? –

+1

Ajout d'un autre exemple pour répondre si vous pouvez ignorer spécifiquement les variables dans les objets. – isaacdre

+0

Est-ce que cela répondait à votre question? – isaacdre