Hi everyone! I'm the author of code.mu :)
I'd love to chat with my non-Russian audience. I'm looking for your feedback on the site and the translation quality. Let's chat:)
⊗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