190 votes

Extension de l’objet JavaScript-

Je suis en train de transformer à partir de Java, Javascript, et c'est un peu dur pour moi de comprendre comment étendre les objets de la façon dont je veux faire.

J'ai vu plusieurs personnes sur l'internet, qui a une méthode sur un objet appelé à s'étendre. Le code ressemblera à ceci:

var Person = {
   name : 'Blank',
   age  : 22
}

var Robot = Person.extend({
   name : 'Robo',
   age  : 4
)}

var robot = new Robot();
alert(robot.name); //Should return 'Robo'

Personne ne sait comment faire ce travail? J'ai entendu dire que vous devez écrire

Object.prototype.extend = function(...);

Mais je ne sais pas comment faire pour que le système fonctionne. Si il n'est pas possible, veuillez me montrer une autre alternative qui s'étend d'un objet.

204voto

osahyoun Points 2591

Vous voulez « hériter » objet prototype de la personne :

51voto

tomilay Points 261

Si vous n’avez pas encore trouvé un moyen, utilisez la propriété associative des objets JavaScript pour ajouter une fonction d’extension pour les `` comme indiqué ci-dessous.

Vous pouvez ensuite utiliser cette fonction, comme indiqué ci-dessous.

31voto

Lior Points 1151
<pre><code></code><p><pre><code></code></pre><p>Documentation du <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/create" rel="nofollow">MDN</a> .</p></pre>

19voto

Harold Points 419

Et une autre année plus tard, je peux vous dire il y a une autre réponse sympa.

Si vous n’aimez pas la façon dont fonctionne de prototypage afin d’étendre sur objets/classes, prendre alook à ceci : https://github.com/haroldiedema/joii

Code exemple rapide des possibilités (et bien d’autres) :

8voto

250R Points 5600

Vous pouvez envisager d’utiliser la bibliothèque d’assistance comme underscore.js http://documentcloud.github.com/underscore/#extend

Et c’est aussi une bonne façon d’apprendre en regardant son code source. La page de codes source annoté est tout à fait utile http://documentcloud.github.com/underscore/docs/underscore.html

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X