Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| people:etanter:jsproto [2012/11/09 18:23] – created etanter | people:etanter:jsproto [2012/11/09 18:29] (current) – etanter | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | En JavaScript, todo objeto tiene una propiedad __proto__ que referencia el objeto al cual el objeto delega. Por defecto, el padre de cada objeto es Object: | + | En JavaScript, todo objeto tiene una propiedad |
| < | < | ||
| Line 5: | Line 5: | ||
| > o.__proto__ | > o.__proto__ | ||
| Object | Object | ||
| - | </ | ||
| - | |||
| - | Que es Object? una función nativa: | ||
| - | < | ||
| > Object | > Object | ||
| function Object() { [native code] } | function Object() { [native code] } | ||
| </ | </ | ||
| - | La propiedad __proto__ se puede setear explicitamente para especificar quien es el objeto padre: | + | La propiedad |
| < | < | ||
| > o.x | > o.x | ||
| Line 31: | Line 27: | ||
| </ | </ | ||
| - | Las funciones son objetos, entonces tienen | + | Las funciones son objetos, entonces tienen |
| < | < | ||
| > f = function (x) { return x; } | > f = function (x) { return x; } | ||
| > f.__proto__ | > f.__proto__ | ||
| - | > function Empty() {} | + | function Empty() {} |
| > f.__proto__() | > f.__proto__() | ||
| undefined | undefined | ||
| Line 43: | Line 39: | ||
| Como una función es un objeto, también puede delegar a otro objeto: | Como una función es un objeto, también puede delegar a otro objeto: | ||
| < | < | ||
| - | f.__proto__ = { x : 10 } | + | > f.__proto__ = { x : 10 } |
| - | f.x | + | > f.x |
| 10 | 10 | ||
| </ | </ | ||
| - | Una función no solamente parte con __proto__, sino que ademas parte con una propiedad llamada ' | + | Una función no solamente parte con %%'__proto__'%%, sino que ademas parte con una propiedad llamada ' |
| < | < | ||
| > f = function() {} | > f = function() {} | ||
| Line 58: | Line 54: | ||
| </ | </ | ||
| - | Ojo que // | + | Ojo que // |
| < | < | ||
| > f.prototype = { x : 10 } | > f.prototype = { x : 10 } | ||

