⊗jsPmCxCM 440 of 505 menu

Vinculación de contexto mediante el método call en JavaScript

Entonces, hemos analizado cómo funciona realmente this. Ahora veamos los métodos que permiten indicar forzosamente en qué contexto se llama a una función (es decir, decir forzosamente a qué es igual this).

El primer método que analizaremos se llama call. Veamos su funcionamiento con un ejemplo. Supongamos que tenemos un input:

<input id="elem" value="text">

Obtengamos la referencia a este input y guardémosla en la variable elem:

let elem = document.querySelector('#elem');

Ahora creemos una función func, dentro de la cual mostraremos this.value:

function func() { console.log(this.value); }

Por ahora, nuestra función no sabe a qué se refiere this. Si la vinculáramos a través de addEventListener, entonces sí. Pero no haremos eso. En su lugar, simplemente llamaremos a nuestra función, diciéndole que this debe ser igual a elem.

Esto se hace así: func.call(elem). Este código es equivalente a una llamada simple a la función func así: func(), solo con la condición de que this sea igual a elem.

Entonces, la sintaxis del método call es: función.call(objeto). Juntemos todo:

let elem = document.querySelector('#elem'); function func() { console.log(this.value); // mostrará el value del input } func.call(elem);

Se da una función:

function func() { console.log(this.value); }

Se dan tres inputs:

<input id="elem1" value="text1"> <input id="elem2" value="text2"> <input id="elem3" value="text3">

Usando el método call y la función func muestre en pantalla el value de cada uno de los inputs.

Español
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Usamos cookies para el funcionamiento del sitio, análisis y personalización. El procesamiento de datos se realiza de acuerdo con la Política de privacidad.
aceptar todas configurar rechazar