diff options
author | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 21:46:22 -0500 |
---|---|---|
committer | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 21:46:22 -0500 |
commit | a065e04d529da1d847b5062a12c46d916408bf32 (patch) | |
tree | fe0f8bcec1ff39a3c499a2708222dcf15224ff70 /files/es/web/javascript/referencia/objetos_globales | |
parent | 218934fa2ed1c702a6d3923d2aa2cc6b43c48684 (diff) | |
download | translated-content-a065e04d529da1d847b5062a12c46d916408bf32.tar.gz translated-content-a065e04d529da1d847b5062a12c46d916408bf32.tar.bz2 translated-content-a065e04d529da1d847b5062a12c46d916408bf32.zip |
update based on https://github.com/mdn/yari/issues/2028
Diffstat (limited to 'files/es/web/javascript/referencia/objetos_globales')
12 files changed, 0 insertions, 1465 deletions
diff --git a/files/es/web/javascript/referencia/objetos_globales/array/observe/index.html b/files/es/web/javascript/referencia/objetos_globales/array/observe/index.html deleted file mode 100644 index 13f16ef5d0..0000000000 --- a/files/es/web/javascript/referencia/objetos_globales/array/observe/index.html +++ /dev/null @@ -1,133 +0,0 @@ ---- -title: Array.observe() -slug: Web/JavaScript/Referencia/Objetos_globales/Array/observe -tags: - - Método(2) - - Vector -translation_of: Archive/Web/JavaScript/Array.observe ---- -<div>{{JSRef}}</div> - -<p>El método <strong><code>Array.observe()</code></strong> se utiliza para poder observar en forma asincrónica los cambios ocurridos en un vector, similar a {{jsxref("Object.observe()")}} para los objetos. Provee un flujo ordenado por orden de ocurrencia de los cambios ocurridos en el vector. Es equivalente a invocar <code>Object.observe()</code> con la lista de tipos aceptados: <code>["add", "update", "delete", "splice"]</code>.</p> - -<h2 id="Sintaxis">Sintaxis</h2> - -<pre class="syntaxbox"><code>Array.observe(<var>arr</var>, <var>callback</var>)</code></pre> - -<h3 id="Parámetros">Parámetros</h3> - -<dl> - <dt><code>arr</code></dt> - <dd>El vector a ser observado.</dd> - <dt><code>callback</code></dt> - <dd>La función invocada con cada cambio dentro del vector con el siguiente argumento: - <dl> - <dt><code>changes</code></dt> - <dd>Un vector de objetos, cada uno representando un cambio. Las propiedades de estos objetos son: - <ul> - <li><strong><code>name</code></strong>: El nombre de la propiedad que ha cambiado.</li> - <li><strong><code>object</code></strong>: El vector modificado, despues de la modificación.</li> - <li><strong><code>type</code></strong>: Una cadena de caracteres indicando el tipo de cambio que ocurrió. Estos tipos son: <code>"add"</code>, <code>"update"</code>, <code>"delete"</code>, o <code>"splice"</code>.</li> - <li><strong><code>oldValue</code></strong>: El valor antes de ser modificado. Solo para los tipos <code>"update"</code> o <code>"delete"</code>.</li> - <li><strong><code>index</code></strong>: La posición del vector en la que ocurrio el cambio. Sólo para el tipo <code>"splice"</code>.</li> - <li><strong><code>removed</code></strong>: Un vector con los elementos borrados. Sólo para el tipo "splice".</li> - <li><strong><code>addedCount</code></strong>: La cantidad de elementos agregados. Sólo para el tipo "splice".</li> - </ul> - </dd> - </dl> - </dd> -</dl> - -<h2 id="Descripción">Descripción</h2> - -<p>La función callback es invocada cada vez que ocurre un cambio en el vector, recibiendo como parámetro, un vector con todos los cambios ocurridos en el orden en que estos fueron realizados.</p> - -<div class="note"> -<p>Changes done via Array methods, such as <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/pop">Array.prototype.pop()</a> will be reported as <code>"splice"</code> changes. Index assignment changes which do not change the length of the array may be reported as <code>"update"</code> changes.</p> - -<p>Los cambios realizados por medio de los metodos del objeto Array, como <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/pop">Array.prototype.pop()</a>, seran reportados como del tipo "splice". Los cambios realizados por indice, que no modifican la cantidad de elementos del vector, podrian ser reportados con el tipo "update".</p> -</div> - -<h2 id="Ejemplos">Ejemplos</h2> - -<h3 id="Mostrando_en_consola_los_diferentes_tipos_de_modificaciones">Mostrando en consola los diferentes tipos de modificaciones</h3> - -<pre class="brush: js">var arr = ['a', 'b', 'c']; - -Array.observe(arr, function(changes) { - console.log(changes); -}); - -arr[1] = 'B'; -// [{type: 'update', object: <arr>, name: '1', oldValue: 'b'}] - -arr[3] = 'd'; -// [{type: 'splice', object: <arr>, index: 3, removed: [], addedCount: 1}] - -arr.splice(1, 2, 'beta', 'gamma', 'delta'); -// [{type: 'splice', object: <arr>, index: 1, removed: ['B', 'c', 'd'], addedCount: 3}] -</pre> - -<h2 id="Especificaciones">Especificaciones</h2> - -<p><a href="https://github.com/arv/ecmascript-object-observe">Strawman proposal for ECMAScript 7</a>.</p> - -<h2 id="Compatibilidad_de_Navegadores">Compatibilidad de Navegadores</h2> - -<div>{{CompatibilityTable}}</div> - -<div id="compat-desktop"> -<table class="compat-table"> - <tbody> - <tr> - <th>Feature</th> - <th>Chrome</th> - <th>Firefox (Gecko)</th> - <th>Internet Explorer</th> - <th>Opera</th> - <th>Safari</th> - </tr> - <tr> - <td>Basic support</td> - <td>{{CompatChrome("36")}}</td> - <td>{{CompatNo}}</td> - <td>{{CompatNo}}</td> - <td>{{CompatNo}}</td> - <td>{{CompatNo}}</td> - </tr> - </tbody> -</table> -</div> - -<div id="compat-mobile"> -<table class="compat-table"> - <tbody> - <tr> - <th>Feature</th> - <th>Android</th> - <th>Chrome for Android</th> - <th>Firefox Mobile (Gecko)</th> - <th>IE Mobile</th> - <th>Opera Mobile</th> - <th>Safari Mobile</th> - </tr> - <tr> - <td>Basic support</td> - <td>{{CompatNo}}</td> - <td>{{CompatVersionUnknown}}</td> - <td>{{CompatNo}}</td> - <td>{{CompatNo}}</td> - <td>{{CompatNo}}</td> - <td>{{CompatNo}}</td> - </tr> - </tbody> -</table> -</div> - -<h2 id="Ver_también">Ver también</h2> - -<ul> - <li><a href="//stackoverflow.com/q/29269057/778272">Under what condition would Array.observe's “add” event trigger?</a></li> - <li>{{jsxref("Array.unobserve()")}} {{experimental_inline}}</li> - <li>{{jsxref("Object.observe()")}} {{experimental_inline}}</li> -</ul> diff --git a/files/es/web/javascript/referencia/objetos_globales/array/unobserve/index.html b/files/es/web/javascript/referencia/objetos_globales/array/unobserve/index.html deleted file mode 100644 index 37cf23ef2e..0000000000 --- a/files/es/web/javascript/referencia/objetos_globales/array/unobserve/index.html +++ /dev/null @@ -1,127 +0,0 @@ ---- -title: Array.unobserve() -slug: Web/JavaScript/Referencia/Objetos_globales/Array/unobserve -translation_of: Archive/Web/JavaScript/Array.unobserve ---- -<div>{{JSRef}} {{non-standard_header}}</div> - -<p>El método Array<strong>.unobserve()</strong> se utiliza para eliminar observadores asignados por {{jsxref("Array.observe()")}}.</p> - -<h2 id="Sintaxis">Sintaxis</h2> - -<pre class="syntaxbox"><code>Array.unobserve(<var>arr</var>, <var>callback</var>)</code></pre> - -<h3 id="Parámetros">Parámetros</h3> - -<dl> - <dt><code>arr</code></dt> - <dd>El array para parar la observación.</dd> - <dt><code>callback</code></dt> - <dd>La referencia al observador para dejar de llamar <span id="result_box" lang="es"><span class="hps">cada vez que</span> <span class="hps">se realizan cambios</span> <span class="hps">en el a</span></span>rray <strong>arr</strong>.</dd> -</dl> - -<h2 id="Descripción">Descripción</h2> - -<p><code>Array.unobserve()</code> debe ser llamado después de {{jsxref("Array.observe()")}} con el fin de eliminar un observador de un array.</p> - -<p><span id="result_box" lang="es"><span class="hps">El callback (llamada de retorno)</span> <span class="hps">debe</span> <span class="hps">ser una referencia a</span> <span class="hps">una función y no</span> <span class="hps">una función anónima</span><span>, ya que</span> <span class="hps">esta referencia</span> <span class="hps">se utilizará para</span> borrar <span class="hps">el</span> <span class="hps">observador</span> <span class="hps">anterior.</span> <span class="hps">Es inútil</span> <span class="hps">llamar</span> a </span><strong>Array.unobserve()</strong><span lang="es"><span class="hps"> con</span> <span class="hps">una función anónima</span> <span class="hps">como</span> <span class="hps">callback</span><span>, porque no va a</span> <span class="hps">eliminar ningún </span><span class="hps">observador.</span></span></p> - -<h2 id="Ejemplos">Ejemplos</h2> - -<h3 id="Dejando_de_observar_un_array">Dejando de observar un array</h3> - -<pre class="brush: js">var arr = [1, 2, 3]; - -var observer = function(changes) { - console.log(changes); -} - -Array.observe(arr, observer); - -arr.push(4); -// [{type: "splice", object: <arr>, index: 3, removed:[], addedCount: 1}] - -Array.unobserve(arr, observer); - -arr.pop(); -// The callback wasn't called</pre> - -<h3 id="Utilizando_una_función_anónima">Utilizando una función anónima</h3> - -<pre class="brush: js">var persons = ['Khalid', 'Ahmed', 'Mohammed']; - -Array.observe(persons, function (changes) { - console.log(changes); -}); - -persons.shift(); -// [{type: "splice", object: <arr>, index: 0, removed: [ "Khalid" ], addedCount: 0 }] - -Array.unobserve(persons, function (changes) { - console.log(changes); -}); - -persons.push('Abdullah'); -// [{type: "splice", object: <arr>, index: 2, removed: [], addedCount: 1 }] -// The callback will always be called -</pre> - -<h2 id="Compatibilidad_de_navegadores">Compatibilidad de navegadores</h2> - -<div>{{CompatibilityTable}}</div> - -<div id="compat-desktop"> -<table class="compat-table"> - <tbody> - <tr> - <th>Característica</th> - <th>Chrome</th> - <th>Firefox (Gecko)</th> - <th>Internet Explorer</th> - <th>Opera</th> - <th>Safari</th> - </tr> - <tr> - <td>Soporte básico</td> - <td>{{CompatChrome("36")}}</td> - <td>{{CompatNo}}</td> - <td>{{CompatNo}}</td> - <td>{{CompatOpera("23")}}</td> - <td>{{CompatNo}}</td> - </tr> - </tbody> -</table> -</div> - -<div id="compat-mobile"> -<table class="compat-table"> - <tbody> - <tr> - <th>Característica</th> - <th>Android</th> - <th>Chrome for Android</th> - <th>Firefox Mobile (Gecko)</th> - <th>IE Mobile</th> - <th>Opera Mobile</th> - <th>Safari Mobile</th> - </tr> - <tr> - <td>Soporte básico</td> - <td>{{CompatNo}}</td> - <td>{{CompatChrome("36")}}</td> - <td>{{CompatNo}}</td> - <td>{{CompatNo}}</td> - <td>{{CompatOpera("23")}}</td> - <td>{{CompatNo}}</td> - </tr> - </tbody> -</table> -</div> - -<h2 id="Véase_también">Véase también</h2> - -<ul> - <li>{{jsxref("Array.observe()")}} {{non-standard_inline}}</li> - <li>{{jsxref("Object.observe()")}} {{non-standard_inline}}</li> - <li>{{jsxref("Object.unobserve()")}} {{non-standard_inline}}</li> -</ul> diff --git a/files/es/web/javascript/referencia/objetos_globales/function/arity/index.html b/files/es/web/javascript/referencia/objetos_globales/function/arity/index.html deleted file mode 100644 index f79bf24bc4..0000000000 --- a/files/es/web/javascript/referencia/objetos_globales/function/arity/index.html +++ /dev/null @@ -1,32 +0,0 @@ ---- -title: Function.arity -slug: Web/JavaScript/Referencia/Objetos_globales/Function/arity -tags: - - JavaScript - - Obsoleto - - Propiedad - - Sin Implementación - - función -translation_of: Archive/Web/JavaScript/Function.arity ---- -<div>{{JSRef}} {{Obsolete_Header}}</div> - -<p class="note">La propiedad <code><strong>arity</strong></code> regresa el número de argumentos esperados por la función, sin embargo, ya no existe y ha sido remplazada por la propiedad {{jsxref("Function.prototype.length")}} .</p> - -<h2 id="Especificaciones">Especificaciones</h2> - -<p>Implementada en JavaScript 1.2. extraida en JavaScript 1.4.</p> - -<h2 id="Compatibilidad_de_navegadores">Compatibilidad de navegadores</h2> - -<div> - - -<p>{{Compat("javascript.builtins.Function.arity")}}</p> -</div> - -<h2 id="Ver_más">Ver más</h2> - -<ul> - <li>{{jsxref("Function.prototype.length")}}</li> -</ul> diff --git a/files/es/web/javascript/referencia/objetos_globales/function/isgenerator/index.html b/files/es/web/javascript/referencia/objetos_globales/function/isgenerator/index.html deleted file mode 100644 index 7c5dd089d4..0000000000 --- a/files/es/web/javascript/referencia/objetos_globales/function/isgenerator/index.html +++ /dev/null @@ -1,90 +0,0 @@ ---- -title: Function.prototype.isGenerator() -slug: Web/JavaScript/Referencia/Objetos_globales/Function/isGenerator -translation_of: Archive/Web/JavaScript/Function.isGenerator ---- -<div>{{JSRef}} {{non-standard_header}}</div> - -<p>El método <code><strong>isGenerator()</strong></code> determina si una función es un <a href="/es/docs/Web/JavaScript/Guide/Iterators_and_Generators">generador</a>.</p> - -<h2 id="Sintaxis">Sintaxis</h2> - -<pre class="syntaxbox"><code><var>fun</var>.isGenerator()</code></pre> - -<h2 id="Descripción">Descripción</h2> - -<p>El método <code>isGenerator()</code> determina si una función es un <a href="/es/docs/Web/JavaScript/Guide/Iterators_and_Generators">generador</a>. Fue parte de una propuesta del proceso de estandarización "Harmony", pero no fue incluido en la especificación ECMAScript 6.</p> - -<h2 id="Ejemplos">Ejemplos</h2> - -<pre class="brush: js">function f() {} - -function* g() { - yield 42; -} - -console.log('f.isGenerator() = ' + f.isGenerator()); // f.isGenerator() = false -console.log('g.isGenerator() = ' + g.isGenerator()); // g.isGenerator() = true -</pre> - -<h2 id="Especificaciones">Especificaciones</h2> - -<p>No es parte de ninguna especificación. Implementado en JavaScript 1.8.6.</p> - -<h2 id="Compatibilidad_con_navegadores">Compatibilidad con navegadores</h2> - -<div>{{CompatibilityTable}}</div> - -<div id="compat-desktop"> -<table class="compat-table"> - <tbody> - <tr> - <th>Característica</th> - <th>Chrome</th> - <th>Firefox (Gecko)</th> - <th>Internet Explorer</th> - <th>Opera</th> - <th>Safari</th> - </tr> - <tr> - <td>Soporte básico</td> - <td>{{CompatNo}}</td> - <td>{{CompatGeckoDesktop("5.0")}}</td> - <td>{{CompatNo}}</td> - <td>{{CompatNo}}</td> - <td>{{CompatNo}}</td> - </tr> - </tbody> -</table> -</div> - -<div id="compat-mobile"> -<table class="compat-table"> - <tbody> - <tr> - <th>Característica</th> - <th>Android</th> - <th>Chrome for Android</th> - <th>Firefox Mobile (Gecko)</th> - <th>IE Mobile</th> - <th>Opera Mobile</th> - <th>Safari Mobile</th> - </tr> - <tr> - <td>Soporte básico</td> - <td>{{CompatNo}}</td> - <td>{{CompatNo}}</td> - <td>{{CompatGeckoMobile("5.0")}}</td> - <td>{{CompatNo}}</td> - <td>{{CompatNo}}</td> - <td>{{CompatNo}}</td> - </tr> - </tbody> -</table> -</div> - -<h2 id="Ver_también">Ver también</h2> - -<ul> - <li><a href="/es/docs/Web/JavaScript/Guide/Iterators_and_Generators">Iterators and generators</a></li> -</ul> diff --git a/files/es/web/javascript/referencia/objetos_globales/object/count/index.html b/files/es/web/javascript/referencia/objetos_globales/object/count/index.html deleted file mode 100644 index 74b387457d..0000000000 --- a/files/es/web/javascript/referencia/objetos_globales/object/count/index.html +++ /dev/null @@ -1,82 +0,0 @@ ---- -title: Object.prototype.__count__ -slug: Web/JavaScript/Referencia/Objetos_globales/Object/count -translation_of: Archive/Web/JavaScript/Object.count ---- -<div>{{JSRef}} {{obsolete_header("2")}}</div> - -<p>La propiedad <strong><code>__count__</code></strong> es usada para almacenar el número de propiedades enumerables de un objeto, pero esta ha sido eliminada.</p> - -<h2 id="Síntaxis">Síntaxis</h2> - -<pre class="syntaxbox"><code><var>obj</var>.__count__</code></pre> - -<h2 id="Ejemplos">Ejemplos</h2> - -<pre class="brush: js">{ 1: 1 }.__count__ // 1 -[].__count__ // 0 -[1].__count__ // 1 -[1, /* hole */, 2, 3].__count__ // 3 -</pre> - -<h2 id="Especificaciones">Especificaciones</h2> - -<p>No forma parte de ninguna especificación.</p> - -<h2 id="Compatibilidad_en_navegadores">Compatibilidad en navegadores</h2> - -<div>{{CompatibilityTable}}</div> - -<div id="compat-desktop"> -<table class="compat-table"> - <tbody> - <tr> - <th>Feature</th> - <th>Chrome</th> - <th>Firefox (Gecko)</th> - <th>Internet Explorer</th> - <th>Opera</th> - <th>Safari</th> - </tr> - <tr> - <td>Basic support</td> - <td>{{CompatNo}}</td> - <td>{{CompatNo}}</td> - <td>{{CompatNo}}</td> - <td>{{CompatNo}}</td> - <td>{{CompatNo}}</td> - </tr> - </tbody> -</table> -</div> - -<div id="compat-mobile"> -<table class="compat-table"> - <tbody> - <tr> - <th>Feature</th> - <th>Android</th> - <th>Chrome for Android</th> - <th>Firefox Mobile (Gecko)</th> - <th>IE Mobile</th> - <th>Opera Mobile</th> - <th>Safari Mobile</th> - </tr> - <tr> - <td>Basic support</td> - <td>{{CompatNo}}</td> - <td>{{CompatNo}}</td> - <td>{{CompatNo}}</td> - <td>{{CompatNo}}</td> - <td>{{CompatNo}}</td> - <td>{{CompatNo}}</td> - </tr> - </tbody> -</table> -</div> - -<h2 id="Ver_también">Ver también</h2> - -<ul> - <li><a class="external" href="http://whereswalden.com/2010/04/06/more-changes-coming-to-spidermonkey-the-magical-__count__-property-of-objects-is-being-removed/">[Blog post] More changes coming to SpiderMonkey: the magical __count__ property is being removed</a></li> -</ul> diff --git a/files/es/web/javascript/referencia/objetos_globales/object/getnotifier/index.html b/files/es/web/javascript/referencia/objetos_globales/object/getnotifier/index.html deleted file mode 100644 index 91521354cc..0000000000 --- a/files/es/web/javascript/referencia/objetos_globales/object/getnotifier/index.html +++ /dev/null @@ -1,92 +0,0 @@ ---- -title: Object.getNotifier() -slug: Web/JavaScript/Referencia/Objetos_globales/Object/getNotifier -tags: - - JavaScript - - Método(2) - - No estándar(2) - - Objeto -translation_of: Archive/Web/JavaScript/Object.getNotifier ---- -<div>{{JSRef}} {{non-standard_header}}</div> - -<p>El método <strong><code>Object.getNotifer()</code></strong> es usado para crear un objeto que permita gatillar un cambio sinteticamente.</p> - -<h2 id="Síntaxis">Síntaxis</h2> - -<pre class="syntaxbox"><code>Object.getNotifier(<em>obj</em>)</code></pre> - -<h3 id="Parametros">Parametros</h3> - -<dl> - <dt><code>obj</code></dt> - <dd>El objeto del cuál se obtiene el notificador.</dd> -</dl> - -<h2 id="Descripción">Descripción</h2> - -<p>El notificador es usado para gatillar cambios sinteticos que serán observados por <code>Object.observe()</code>.</p> - -<h2 id="Especificaciones">Especificaciones</h2> - -<p><a href="https://github.com/arv/ecmascript-object-observe">Strawman proposal specification.</a></p> - -<h2 id="Compatibilidad_de_navegadores">Compatibilidad de navegadores</h2> - -<div>{{CompatibilityTable}}</div> - -<div id="compat-desktop"> -<table class="compat-table"> - <tbody> - <tr> - <th>Caracteristica</th> - <th>Chrome</th> - <th>Firefox (Gecko)</th> - <th>Internet Explorer</th> - <th>Opera</th> - <th>Safari</th> - </tr> - <tr> - <td>Soporte básico</td> - <td>{{CompatChrome("36")}}</td> - <td>{{CompatNo}}</td> - <td>{{CompatNo}}</td> - <td>{{CompatOpera("23")}}</td> - <td>{{CompatNo}}</td> - </tr> - </tbody> -</table> -</div> - -<div id="compat-mobile"> -<table class="compat-table"> - <tbody> - <tr> - <th>Caracteristica</th> - <th>Android</th> - <th>Chrome for Android</th> - <th>Firefox Mobile (Gecko)</th> - <th>IE Mobile</th> - <th>Opera Mobile</th> - <th>Safari Mobile</th> - </tr> - <tr> - <td>Soporte básico</td> - <td>{{CompatNo}}</td> - <td>{{CompatChrome("36")}}</td> - <td>{{CompatNo}}</td> - <td>{{CompatNo}}</td> - <td>{{CompatOpera("23")}}</td> - <td>{{CompatNo}}</td> - </tr> - </tbody> -</table> -</div> - -<h2 id="Ver_también">Ver también</h2> - -<ul> - <li>{{jsxref("Object.observe()")}} {{non-standard_inline}}</li> - <li>{{jsxref("Object.unobserve()")}} {{non-standard_inline}}</li> - <li>{{jsxref("Array.observe()")}} {{non-standard_inline}}</li> -</ul> diff --git a/files/es/web/javascript/referencia/objetos_globales/object/nosuchmethod/index.html b/files/es/web/javascript/referencia/objetos_globales/object/nosuchmethod/index.html deleted file mode 100644 index d7422b2a3d..0000000000 --- a/files/es/web/javascript/referencia/objetos_globales/object/nosuchmethod/index.html +++ /dev/null @@ -1,198 +0,0 @@ ---- -title: Object.prototype.__noSuchMethod__ -slug: Web/JavaScript/Referencia/Objetos_globales/Object/noSuchMethod -tags: - - JavaScript - - No-estándar - - Objeto - - Obsoleto - - Propiedad - - Prototipo -translation_of: Archive/Web/JavaScript/Object.noSuchMethod ---- -<div>{{JSRef}}{{Non-standard_Header}}{{Obsolete_Header("gecko43")}}</div> - -<div>{{JSRef}}{{Non-standard_Header}}{{Obsolete_Header("Safari14")}}</div> - -<p>La <strong><code>__noSuchMethod__</code></strong> se usa para referenciar una función que debe ejecutarse cuando se llama a un método inexistente en un objeto, pero esta función no ya no está disponible.</p> - - - -<p>Mientras <code><strong>__noSuchMethod__</strong></code> a sido eliminado, la especificación ECMAScript 2015 tiene el objeto {{JSxRef("Proxy")}} , el cual puede lograr lo siguiente (y más).</p> - -<h2 id="Sintaxis_de_data">Sintaxis de data</h2> - -<pre>//EXample 2 obj.__noSuchMetod__ = id</pre> - -<p>Otros ejemplos como fun</p> - -<pre class="syntaxbox"><code><var>obj</var>.__noSuchMethod__ = <var>fun</var></code></pre> - -<h3 id="Parameters">Parameters</h3> - -<dl> - <dt><code>fun</code></dt> - <dd>Una función que toma la forma</dd> - <dd> - <pre class="brush: js"><code>function (<var>id</var>, <var>args</var>) { . . . }</code></pre> - - <dl> - <dt><code>id</code></dt> - <dd>El nombre del método inexistente que fue llamado</dd> - <dt><code>args</code></dt> - <dd>Un array de los argumentos pasados al método</dd> - </dl> - </dd> -</dl> - -<h2 id="Descripción">Descripción</h2> - -<p>Por defecto, un intento de llamar a un método que no existe en un objeto tiene como resultado {{JSxRef("TypeError")}}. Este comportamiento puede evitarse definiendo una función en el miembro <code>__noSuchMethod__</code> de ese objeto. La función toma dos argumentos, el primero es el nombre del método intentado y el segundo es un array de los argumentos que fueron pasados en el método de llamada. El segundo argumento es un array real (es decir, hereda a través de la cadena {{JSxRef("Array.prototype")}}) y no el objeto array con el <a href="https://developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Funciones/arguments">objeto arguments</a>.</p> - -<p>Si no se puede llamar a este método, ya sea <code>undefined</code> por defecto, como si se hubiera eliminado, o si se ha configurado manualmente como no funcional, el motor JavaScript volverá a lanzar <code>TypeError</code>s.</p> - -<h2 id="Esto_es_creado_por_esto">Esto es creado por esto:</h2> - -<p>Director de traductor de grupos:</p> - -<h4 id="Vicente_Oliver">Vicente Oliver</h4> - -<h4 id="titox31">titox31</h4> - - - -<h2 id="Ejemplos">Ejemplos</h2> - -<h3 id="Simple_test_of___noSuchMethod__">Simple test of <code>__noSuchMethod__</code></h3> - -<pre class="brush: js">var o = { - __noSuchMethod__: function(id, args) { - console.log(id, '(' + args.join(', ') + ')'); - } -}; - -o.foo(1, 2, 3); -o.bar(4, 5); -o.baz(); - -// Output -// foo (1, 2, 3) -// bar (4, 5) -// baz () -</pre> - -<h3 id="Using___noSuchMethod___to_simulate_multiple_inheritance">Using <code>__noSuchMethod__</code> to simulate multiple inheritance</h3> - -<p>A continuación se muestra un ejemplo de código que implementa una forma primitiva de la herencia múltiple.</p> - -<pre class="brush: js">// Doesn't work with multiple inheritance objects as parents -function noMethod(name, args) { - var parents = this.__parents_; - - // Go through all parents - for (var i = 0; i < parents.length; i++) { - // If we find a function on the parent, we call it - if (typeof parents[i][name] == 'function') { - return parents[i][name].apply(this, args); - } - } - - // If we get here, the method hasn't been found - throw new TypeError; -} - -// Used to add a parent for multiple inheritance -function addParent(obj, parent) { - // If the object isn't initialized, initialize it - if (!obj.__parents_) { - obj.__parents_ = []; - obj.__noSuchMethod__ = noMethod; - } - - // Add the parent - obj.__parents_.push(parent); -} -</pre> - -<p>Un ejemplo de cómo utilizar esta idea se muestra a continuación.</p> - -<pre class="brush: js">// Example base class 1 -function NamedThing(name) { - this.name = name; -} - -NamedThing.prototype = { - getName: function() { return this.name; }, - setName: function(newName) { this.name = newName; } -} -function String(bash) { - this.close =javaOpenDOM ; -console.info(bash with DOM User with 30pok to 40000km/h to +20years) -; - -} -// Example base class 2 -function AgedThing(age) { - this.age = age; -} - -AgedThing.prototype = { - getAge: function() { return this.age; }, - setAge: function(age) { this.age = age; } -} - -// Child class. inherits from NamedThing and AgedThing -// as well as defining address -function Person(name, age, address){ - addParent(this, NamedThing.prototype); - NamedThing.call(this, name); - addParent(this, AgedThing.prototype); - AgedThing.call(this, age); - this.address = address; -} - -Person.prototype = { - getAddr: function() { return this.address; }, - setAddr: function(addr) { this.address = addr; } -} - -var bob = new Person('bob', 25, 'New York'); - -console.log('getAge is ' + (('getAge' in bob) ? 'in' : 'not in') + ' bob'); -// getAge is not in bob - -console.log("bob's age is: " + bob.getAge()); -// bob's age is: 25 - -console.log('getName is ' + (('getName' in bob) ? 'in' : 'not in') + ' bob'); -// getName is not in bob - -console.log("bob's name is: " + bob.getName()); -// bob's name is: bob - -console.log('getAddr is ' + (('getAddr' in bob) ? 'in' : 'not in') + ' bob'); -// getAddr is in bob - -console.log("bob's address is: " + bob.getAddr()); -// bob's address is: New York -</pre> - -<h2 id="Specifications">Specifications</h2> - -<p>No forma parte de ninguna especificación. Esta característica ha sido eliminada, vea {{bug(683218)}}.</p> - -<blockquote> -<h2 id="Alias_de___noSuchMetod__">Alias de __noSuchMetod__</h2> - -<p>aliasduplicate.lopen_bash</p> - -<p>hamlStyluslopen</p> -</blockquote> - -<h2 id="Browser_compatibility">Browser compatibility</h2> - -<div> -<div class="hidden">La tabla de compatibilidad de esta página se genera a partir de datos estructurados. Si desea contribuir con los datos, visite <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> y envíenos un mensaje.</div> - -<p>{{Compat("javascript.builtins.Object.noSuchMethod")}}</p> -</div> diff --git a/files/es/web/javascript/referencia/objetos_globales/object/observe/index.html b/files/es/web/javascript/referencia/objetos_globales/object/observe/index.html deleted file mode 100644 index 8bf0fd1e5b..0000000000 --- a/files/es/web/javascript/referencia/objetos_globales/object/observe/index.html +++ /dev/null @@ -1,188 +0,0 @@ ---- -title: Object.observe() -slug: Web/JavaScript/Referencia/Objetos_globales/Object/observe -translation_of: Archive/Web/JavaScript/Object.observe ---- -<div>{{JSRef}} {{obsolete_header}}</div> - -<p>El método <strong><code>Object.observe() </code></strong>es usado para observar de forma asíncrona cambios sobre un objeto. Este método transmite información sobre cambios en el objeto, en el orden en que estos ocurren.</p> - -<h2 id="Sintaxis">Sintaxis</h2> - -<pre class="syntaxbox"><code>Object.observe(<var>obj</var>, <var>callback</var>[, <var>acceptList</var>])</code></pre> - -<h3 id="Parámetros">Parámetros</h3> - -<dl> - <dt><code>obj</code></dt> - <dd>El objeto que será observado.</dd> - <dt><code>callback</code></dt> - <dd>La función llamada cada vez que un cambio es realizado. Esta función recibe el siguiente argumento:</dd> - <dd> - <dl> - <dt><code>changes</code></dt> - <dd>Una cadena (<em>Array</em>) de objetos, cada uno de los cuales representa un cambio. Las propiedades de estos objetos son: - <ul> - <li><strong><code>name</code></strong>: El nombre de la propiedad que fue cambiada.</li> - <li><strong><code>object</code></strong>: El objeto con el cambio ya realizado.</li> - <li><strong><code>type</code></strong>: Una cadena (<em>String</em>), indicando el tipo de cambio que ocurrió. Puede ser "<em>add</em>" (añadir), "<em>update" </em>(actualizar) o "<em>delete</em>" (borrar) .</li> - <li><strong><code>oldValue</code></strong>: Sólo válido para los tipos (<em>type</em>) <em>"</em><em>update" </em>o <em>"delete"</em>. Esta propiedad representa el valor antes de que haya ocurrido el cambio.</li> - </ul> - </dd> - </dl> - </dd> - <dt><code>acceptList</code></dt> - <dd>La lista de tipos de cambios que serán observados en el objeto dado, y que serán pasados a la función callback dada. Si este parámetro es omitido, se utilizará de forma predeterminada la cadena (<em>Array</em>) <code>["add", "update", "delete", "reconfigure", "setPrototype", "preventExtensions"]</code>.</dd> -</dl> - -<h2 id="Descripción">Descripción</h2> - -<p>La función <strong><code>callback</code> </strong>es llamada o ejecutada cada vez que un cambio es aplicado sobre el objeto <strong><code>obj</code></strong>. Esta función es ejecutada con una cadena (Array) de todos los cambios sobre el objeto, en el orden en el que estos ocurrieron.</p> - -<h2 id="Ejemplos">Ejemplos</h2> - -<h3 id="Imprimir_en_consola_los_seis_tipos_diferentes_de_cambios_en_un_objeto.">Imprimir en consola los seis tipos diferentes de cambios en un objeto.</h3> - -<pre class="brush: js">var obj = { - foo: 0 -}; - -Object.observe(obj, function(changes) { - console.log(changes); -}); - -obj.baz = 2; -// [{name: 'baz', object: <obj>, type: 'add'}] - -obj.foo = 'hello'; -// [{name: 'foo', object: <obj>, type: 'update', oldValue: 0}] - -delete obj.baz; -// [{name: 'baz', object: <obj>, type: 'delete', oldValue: 2}] - -Object.defineProperty(obj, 'foo', {writable: false}); -// [{name: 'foo', object: <obj>, type: 'reconfigure'}] - -Object.setPrototypeOf(obj, {}); -// [{name: '__proto__', object: <obj>, type: 'setPrototype', oldValue: <prototype>}] - -Object.seal(obj); -// [ -// {name: 'foo', object: <obj>, type: 'reconfigure'}, -// {name: 'baz', object: <obj>, type: 'reconfigure'}, -// {object: <obj>, type: 'preventExtensions'} -// ] -</pre> - -<h3 id="Enlace_de_datos">Enlace de datos</h3> - -<pre class="brush: js">// Un modelo de objeto "usuario" -var user = { - id: 0, - name: 'Brendan Eich', - title: 'Mr.' -}; - -// Crear un saludo para el usuario -function updateGreeting() { - user.greeting = 'Hello, ' + user.title + ' ' + user.name + '!'; -} -updateGreeting(); - -Object.observe(user, function(changes) { - changes.forEach(function(change) { - // Cada vez que las propiedades "name" o "title" del objeto - // "user" cambien, se ejecutará la función updateGreeting. - if (change.name === 'name' || change.name === 'title') { - updateGreeting(); - } - }); -}); -</pre> - -<h3 id="Cambio_de_tipo_personalizado">Cambio de tipo personalizado</h3> - -<pre class="brush: js">// A point on a 2D plane -var point = {x: 0, y: 0, distance: 0}; - -function setPosition(pt, x, y) { - // Performing a custom change - Object.getNotifier(pt).performChange('reposition', function() { - var oldDistance = pt.distance; - pt.x = x; - pt.y = y; - pt.distance = Math.sqrt(x * x + y * y); - return {oldDistance: oldDistance}; - }); -} - -Object.observe(point, function(changes) { - console.log('Distance change: ' + (point.distance - changes[0].oldDistance)); -}, ['reposition']); - -setPosition(point, 3, 4); -// Distance change: 5 -</pre> - -<h2 id="Especificación_Técnica_(en_inglés)">Especificación Técnica (en inglés)</h2> - -<p><a href="https://github.com/arv/ecmascript-object-observe">Strawman proposal for ECMAScript 7</a>.</p> - -<h2 id="Compatibilidad_en_navegadores">Compatibilidad en navegadores</h2> - -<div>{{CompatibilityTable}}</div> - -<div id="compat-desktop"> -<table class="compat-table"> - <tbody> - <tr> - <th>Característica</th> - <th>Chrome</th> - <th>Firefox (Gecko)</th> - <th>Internet Explorer</th> - <th>Opera</th> - <th>Safari</th> - </tr> - <tr> - <td>Soporte básico</td> - <td>{{CompatChrome("36")}}</td> - <td>{{CompatNo}}</td> - <td>{{CompatNo}}</td> - <td>{{CompatOpera("23")}}</td> - <td>{{CompatNo}}</td> - </tr> - </tbody> -</table> -</div> - -<div id="compat-mobile"> -<table class="compat-table"> - <tbody> - <tr> - <th>Característica</th> - <th>Android</th> - <th>Chrome for Android</th> - <th>Firefox Mobile (Gecko)</th> - <th>IE Mobile</th> - <th>Opera Mobile</th> - <th>Safari Mobile</th> - </tr> - <tr> - <td>Soporte básico</td> - <td>{{CompatNo}}</td> - <td>{{CompatChrome("36")}}</td> - <td>{{CompatNo}}</td> - <td>{{CompatNo}}</td> - <td>{{CompatOpera("23")}}</td> - <td>{{CompatNo}}</td> - </tr> - </tbody> -</table> -</div> - -<h2 id="Véase_también">Véase también</h2> - -<ul> - <li>{{jsxref("Object.unobserve()")}} {{experimental_inline}}</li> - <li>{{jsxref("Array.observe()")}} {{experimental_inline}}</li> -</ul> diff --git a/files/es/web/javascript/referencia/objetos_globales/object/parent/index.html b/files/es/web/javascript/referencia/objetos_globales/object/parent/index.html deleted file mode 100644 index 7fcd990395..0000000000 --- a/files/es/web/javascript/referencia/objetos_globales/object/parent/index.html +++ /dev/null @@ -1,244 +0,0 @@ ---- -title: Object.prototype.__parent__ -slug: Web/JavaScript/Referencia/Objetos_globales/Object/Parent -translation_of: Archive/Web/JavaScript/Object.parent ---- -<div>{{JSRef}}{{Non-standard_Header}}{{Obsolete_Header("gecko2")}}</div> - -<p>The <strong><code>__parent__</code></strong> property used to point to an object's context, but it has been removed.</p> - -<p> <img alt="Helvetica" src=" youtube.com"></p> - -<table class="standard-table"> - <tbody> - <tr> - <td> - <table class="standard-table"> - <tbody> - <tr> - <td>JSON</td> - <td>Energy</td> - <td>Pass</td> - <td>Vid errors</td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - </tr> - <tr> - <td>M</td> - <td>290 GX Pass Golden</td> - <td>67/500</td> - <td>error 759848</td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - </tr> - <tr> - <td>A</td> - <td>190 EXHI Pass</td> - <td>Appears</td> - <td>error 578047</td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - </tr> - <tr> - <td>B</td> - <td>not run</td> - <td>not run</td> - <td>error 000000</td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - </tr> - <tr> - <td>Y</td> - <td>"Variant Turbo_"</td> - <td>30x35</td> - <td>error A24AB6</td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - </tr> - <tr> - <td>D</td> - <td>not</td> - <td>23/56[(89])</td> - <td>(math error) 759709</td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - </tr> - <tr> - <td>Z</td> - <td>-7800 Gx 2000-7800</td> - <td>not</td> - <td>error 638298303890</td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - </tr> - <tr> - <td>Errors</td> - <td>5876785675</td> - <td>87659679567</td> - <td>5'690'8435978</td> - <td>8767689</td> - <td>8743578495</td> - <td>834257384957</td> - <td>847359873489534897</td> - <td>0945894758597</td> - <td>34879587595934</td> - <td>859084987</td> - <td></td> - </tr> - <tr> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - </tr> - <tr> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - </tr> - <tr> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - </tr> - <tr> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - <td></td> - </tr> - </tbody> - </table> - - <h2 id="sect1"></h2> - </td> - <td></td> - </tr> - <tr> - <td></td> - <td></td> - </tr> - <tr> - <td></td> - <td></td> - </tr> - </tbody> -</table> - -<div class="blockIndicator warning"> -<p>Advertencia de Traductor: Tengan cuidado con el escaneer. Si la camara trasera de movil o de delante de ordenadores. Limpiela con un trapo. Si aun sigue el problema, llame a al atencion al cliente.</p> -</div> - -<div class="blockIndicator note"> -<p>Nota: sentimos mucho hacerlo en English (US) Intenten traducirlo con Traductor y intentelo de nuevo</p> -</div> - -<h2 id="Syntax">Syntax</h2> - -<h2 class="syntaxbox" id="obj.__parent__"><var>obj</var>.__parent__</h2> - -<h2 id="Description">Description</h2> - -<p>For top-level objects, this is the e.g. window.</p> - -<h2 id="Specifications">Specifications</h2> - -<p>Not part of any specifications.</p> - -<h2 id="Browser_compatibility">Browser compatibility</h2> - -<div> - - -<p>{{Compat("javascript.builtins.Object.parent")}}</p> -</div> - -<h2 id="See_also">See also</h2> - -<ul> - <li><a class="external" href="http://whereswalden.com/2010/05/07/spidermonkey-change-du-jour-the-special-__parent__-property-has-been-removed/">SpiderMonkey change du jour: the special __parent__ property has been removed</a></li> - <li><a href="/en-US/docs/Components.utils.getGlobalForObject">Components.utils.getGlobalForObject</a></li> -</ul> - -<h2 id="See_also_var">See also var</h2> - -<ol> - <li>"htpps://github.rs/accounts"</li> - <li>not</li> -</ol> diff --git a/files/es/web/javascript/referencia/objetos_globales/object/unobserve/index.html b/files/es/web/javascript/referencia/objetos_globales/object/unobserve/index.html deleted file mode 100644 index d500dbde21..0000000000 --- a/files/es/web/javascript/referencia/objetos_globales/object/unobserve/index.html +++ /dev/null @@ -1,138 +0,0 @@ ---- -title: Object.unobserve() -slug: Web/JavaScript/Referencia/Objetos_globales/Object/unobserve -tags: - - JavaScript - - No estandar - - Objeto - - metodo -translation_of: Archive/Web/JavaScript/Object.unobserve ---- -<div>{{JSRef}} {{non-standard_header}}</div> - -<p>El método <strong>Object.unobserve()</strong> es usado para remover observadores establecidos por {{jsxref("Object.observe()")}}.</p> - -<h2 id="Síntaxis">Síntaxis</h2> - -<pre class="syntaxbox"><code>Object.unobserve(<var>obj</var>, <var>callback</var>)</code></pre> - -<h3 id="Parametros">Parametros</h3> - -<dl> - <dt><code>obj</code></dt> - <dd>El objeto a parar de observar.</dd> - <dt><code>callback</code></dt> - <dd>La referencia al observador a parar de llamar cada vez que se hacen cambios sobre el objeto <strong>obj</strong>.</dd> -</dl> - -<h2 id="Descripción">Descripción</h2> - -<p><code>Object.unobserve()</code> debería ser llamado después de {{jsxref("Object.observe()")}} en orden de remover un observador de un objeto.</p> - -<p>La llamada de retorno (<em>callback</em>) debería ser una referencia a una función (asignada o declarada) y no a una función anonima, debido a que ésta referencia será usada para retirar el observador previo. A menos que se llame <strong><code>Object.unobserve()</code> </strong>con una función anonima como llamada de retorno, no se removerá ningún observador.</p> - -<h2 id="Ejemplos">Ejemplos</h2> - -<h3 id="Dejando_de_observar_un_objeto.">Dejando de observar un objeto.</h3> - -<pre class="brush: js">var obj = { - foo: 0, - bar: 1 -}; - -var observer = function(changes) { - console.log(changes); -} - -Object.observe(obj, observer); - -obj.newProperty = 2; -// [{name: 'newProperty', object: <obj>, type: 'add'}] - -Object.unobserve(obj, observer); - -obj.foo = 1; -// La llamada de retorno no fue llamada</pre> - -<h3 id="Utilizando_una_función_anónima">Utilizando una función anónima</h3> - -<pre class="brush: js">var person = { - name : 'Ahmed', - age : 25 -}; - -Object.observe(person, function (changes) { - console.log(changes); -}); - -person.age = 40; -// [{name: 'age', object: <obj>, oldValue: 25, type: 'update'}] - -Object.unobserve(person, function (changes) { - console.log(changes); -}); - -person.age = 63; -// [{name: 'age', object: <obj>, oldValue: 40, type: 'update'}] -// La llamada de retorno siempre será llamada -</pre> - -<h2 id="Compatibilidad_de_navegadores">Compatibilidad de navegadores</h2> - -<div>{{CompatibilityTable}}</div> - -<div id="compat-desktop"> -<table class="compat-table"> - <tbody> - <tr> - <th>Caracteristica</th> - <th>Chrome</th> - <th>Firefox (Gecko)</th> - <th>Internet Explorer</th> - <th>Opera</th> - <th>Safari</th> - </tr> - <tr> - <td>Soporte básico</td> - <td>{{CompatChrome("36")}}</td> - <td>{{CompatNo}}</td> - <td>{{CompatNo}}</td> - <td>{{CompatOpera("23")}}</td> - <td>{{CompatNo}}</td> - </tr> - </tbody> -</table> -</div> - -<div id="compat-mobile"> -<table class="compat-table"> - <tbody> - <tr> - <th>Caracteristica</th> - <th>Android</th> - <th>Chrome for Android</th> - <th>Firefox Mobile (Gecko)</th> - <th>IE Mobile</th> - <th>Opera Mobile</th> - <th>Safari Mobile</th> - </tr> - <tr> - <td>Soporte básico</td> - <td>{{CompatNo}}</td> - <td>{{CompatChrome("36")}}</td> - <td>{{CompatNo}}</td> - <td>{{CompatNo}}</td> - <td>{{CompatOpera("23")}}</td> - <td>{{CompatNo}}</td> - </tr> - </tbody> -</table> -</div> - -<h2 id="Ver_también">Ver también</h2> - -<ul> - <li>{{jsxref("Object.observe()")}} {{non-standard_inline}}</li> - <li>{{jsxref("Array.observe()")}} {{non-standard_inline}}</li> - <li>{{jsxref("Array.unobserve()")}} {{non-standard_inline}}</li> -</ul> diff --git a/files/es/web/javascript/referencia/objetos_globales/object/unwatch/index.html b/files/es/web/javascript/referencia/objetos_globales/object/unwatch/index.html deleted file mode 100644 index 67f565051c..0000000000 --- a/files/es/web/javascript/referencia/objetos_globales/object/unwatch/index.html +++ /dev/null @@ -1,37 +0,0 @@ ---- -title: Object.prototype.unwatch() -slug: Web/JavaScript/Referencia/Objetos_globales/Object/unwatch -tags: - - JavaScript - - Method - - Non-standard - - Object - - Prototype - - Referencia -translation_of: Archive/Web/JavaScript/Object.unwatch ---- -<div> - {{JSRef("Objetos_globales", "Object")}}</div> -<h2 id="Resumen" name="Resumen">Resumen</h2> -<p>Elimina un control establecido con el método {{jsxref("Object.watch", "watch()")}} sobre una propiedad de un objeto.</p> -<h2 id="Sintaxis" name="Sintaxis">Sintaxis</h2> -<p><code>unwatch( - <i> - nombrePropiedad</i> - ) </code></p> -<h3 id="Par.C3.A1metros" name="Par.C3.A1metros">Parámetros</h3> -<dl> - <dt> - <code>nombrePropiedad</code></dt> - <dd> - El nombre de la propiedad del objeto.</dd> -</dl> -<h2 id="Descripci.C3.B3n" name="Descripci.C3.B3n">Descripción</h2> -<p>El depurador de JavaScript tiene funciones similares a las proporcionadas por este método, además de otras opciones de depuración. Para más información acerca del depurador, vea <a href="/es/docs/Venkman">Venkman</a>.</p> -<p>Por defecto, este método se hereda para todos los objetos descendientes de <code>Object</code>.</p> -<h2 id="Ejemplos" name="Ejemplos">Ejemplos</h2> -<p>Vea {{jsxref("Object.watch", "watch()")}}.</p> -<h2 id="Vea_También">Vea También</h2> -<ul> - <li>{{jsxref("Object.watch()")}}</li> -</ul> diff --git a/files/es/web/javascript/referencia/objetos_globales/object/watch/index.html b/files/es/web/javascript/referencia/objetos_globales/object/watch/index.html deleted file mode 100644 index 584a53350b..0000000000 --- a/files/es/web/javascript/referencia/objetos_globales/object/watch/index.html +++ /dev/null @@ -1,104 +0,0 @@ ---- -title: Object.prototype.watch() -slug: Web/JavaScript/Referencia/Objetos_globales/Object/watch -tags: - - JavaScript - - Method - - Non-standard - - Object - - Prototype -translation_of: Archive/Web/JavaScript/Object.watch ---- -<div> - {{JSRef("Objetos_globales", "Object")}}</div> -<h2 id="Resumen" name="Resumen">Resumen</h2> -<p>Controla si se asigna un valor a una propiedad y ejecuta una función cuando esto ocurre.</p> -<h2 id="Sintaxis" name="Sintaxis">Sintaxis</h2> -<p><code>watch( - <i> - propiedad</i> - , - <i> - delegado</i> - ) </code></p> -<h3 id="Par.C3.A1metros" name="Par.C3.A1metros">Parámetros</h3> -<dl> - <dt> - <code>nombrePropiedad</code></dt> - <dd> - Nombre de la propiedad del objeto.</dd> -</dl> -<dl> - <dt> - <code>funcionDelegada</code></dt> - <dd> - Función a llamar.</dd> -</dl> -<h2 id="Descripci.C3.B3n" name="Descripci.C3.B3n">Descripción</h2> -<p>Controla si se asigna una propiedad llamada <code>nombrePropiedad</code> en este objeto, llamando a <code>funcionDelegada(propiedad, valorViejo, valorNuevo)</code> siempre que <code>nombrePropiedad</code> sea asignada y almacene el valor de retorno de esa propiedad. La función encargada de dicho control puede filtrar (o anular) el valor asignado, devolviendo un <code>valorNuevo</code> modificado (o devolviendo <code>valorViejo</code>).</p> -<p>Si elimina una propiedad para la que se ha establecido un control, ese control no desaparece. Si más tarde se vuelve a crear la propiedad, el control volverá a tener efecto.</p> -<p>Para eliminar un control, use el método {{jsxref("Object.prototype.unwatch()")}}. Por defecto, el método <code>watch</code> se hereda para cada uno de los objetos descendientes de {{jsxref("Object")}}.</p> -<p>El depurador JavaScript tiene funciones similares a las que proporciona este método, además de otras opciones de depuración. Para más información sobre el depurador, vea <a href="/es/docs/Venkman">Venkman</a>.</p> -<p>En NES 3.0 y 4.x, <code>funcionDelegada</code> se llama desde las asignaciones del script además del código nativo. En Firefox, <code>funcionDelegada</code> se llama solamente en las asignaciones del script, pero no en el código nativo. Por ejemplo, <code>window.watch('location', miDelegado)</code> no llamará a <code>miDelegado</code> si el usuario hace click sobre un enlace a un ancla dentro del documento actual. Sin embargo, el siguiente código llamará a <code>miDelegado</code>:</p> -<pre class="brush: js"><code>window.location += '#miAncla';</code> -</pre> -<h2 id="Ejemplos" name="Ejemplos">Ejemplos</h2> -<h3 id="Ejemplo:_Usando_watch_y_unwatch" name="Ejemplo:_Usando_watch_y_unwatch">Ejemplo: Usando <code>watch</code> y <code>unwatch</code></h3> -<pre class="brush: js">var objeto = {p:1}; -objeto.watch("p", - function (identificador,valorViejo,valorNuevo) { - document.writeln("objeto." + identificador + " ha cambiado de " - + valorViejo + " a " + valorNuevo); - return valorNuevo; - }); - -objeto.p = 2; -objeto.p = 3; -delete objeto.p; -objeto.p = 4; - -objeto.unwatch('p'); -objeto.p = 5; -</pre> -<p>Este script muestra lo siguiente:</p> -<pre>objeto.p ha cambiado de 1 a 2 -objeto.p ha cambiado de 2 a 3 -objeto.p ha cambiado de undefined a 4 -</pre> -<h3 id="Ejemplo:_Usando_watch_para_validar_las_propiedades_de_un_objeto" name="Ejemplo:_Usando_watch_para_validar_las_propiedades_de_un_objeto">Ejemplo: Usando <code>watch</code> para validar las propiedades de un objeto</h3> -<p>Usted puede usar <code>watch</code> para comprobar cualquier asignación a las propiedades de un objecto. Este ejemplo asegura que cada Persona siempre tiene un nombre válido y una edad entre 0 y 200.</p> -<pre class="brush: js">Persona = function(nombre,edad) { - this.watch("edad", Persona.prototype._esAsignacionValida); - this.watch("nombre",Persona.prototype._esAsignacionValida); - this.nombre=nombre; - this.edad=edad; -}; - -Persona.prototype.toString = function() { return this.nombre + "," + this.edad;}; - -Persona.prototype._esAsignacionValida = function(identificador,valorViejo,valorNuevo) { - if (id=="nombre" && (!valorNuevo|| valorNuevo.length>30)) { throw new RangeError("nombre no válido para " + this); } - if (id=="edad" && (valorNuevo<0 || valorNuevo>200)) { throw new RangeError("edad no válida para " + this ); } - return valorNuevo; -}; - -alejandra = new Persona("Alejandra",29); // --> Alejandra,29 -document.writeln(alejandra); - -try { - alejandra.nombre=""; // --> Error "nombre no válido para Alejandra,29" -} catch (excepcion) { document.writeln(excepcion); } - -try { - alejandra.edad=-4; // --> Error "edad no válida para Alejandra,29" -} catch (excepcion) { document.writeln(excepcion); } -</pre> -<p>Este script muestra lo siguiente:</p> -<pre>Alejandra,29 -RangeError: nombre no válido para Alejandra,29 -RangeError: edad no válida para Alejandra,29 -</pre> -<h2 id="Vea_Tambi.C3.A9n" name="Vea_Tambi.C3.A9n">Vea También</h2> -<ul> - <li>{{jsxref("Object.prototype.unwatch()")}}</li> -</ul> |