JavaScript funkciju saistīšana ()

JavaScript Function bind () metode ļauj objektam aizņemties metodi no cita objekta, nekopējot.

Metodes sintakse bind()ir šāda:

 func.bind(thisArg, arg1,… argN)

Šeit funcir funkcija.

bind () parametri

bind()Metode ņem in:

  • thisArg- vērtība, kas norādīta kā thisparametrs func. Tas tiek ignorēts, ja saistītā funkcija tiek izveidota, izmantojot jaunu operatoru.
  • arg1,… argN(pēc izvēles) - argumenti, kuru pamatā ir argumenti, kas sniegti saistītai funkcijai, atsaucoties func.

Piezīmes:

  • Izmantojot thisArg iekš setTimeout, primitīvās vērtības tiek pārveidotas par objektiem.
  • Ja thisArgnav norādīts, izpildes sfērā tas tiek uzskatīts par thisArg.

Atgriezeniskā vērtība no saistīšanas ()

  • Atgriež norādītās funkcijas kopiju ar norādīto šo vērtību un sākotnējos argumentus (ja tādi ir).

Piemērs: bind () izmantošana

 this.x = 1; // "this" here is the global window object in browser const obj = ( x: 100, getX: function () ( return this.x; ), ); console.log(obj.getX()); // 100 const retrieveX = obj.getX; // the function gets invoked at the global scope console.log(retrieveX()); // 1 // Create a new function with 'this' bound to obj // global variable 'x' with obj's property 'x' are two separate entities const boundGetX = retrieveX.bind(obj); console.log(boundGetX()); // 100

Rezultāts

 100 1 100

Kad metode tiek nodota kaut kur atsevišķi no objekta - thistiek pazaudēta. Saistītās funkcijas izveidošana no funkcijas, izmantojot sākotnējo objektu, glīti atrisina šo problēmu

Ieteicams lasīt: JavaScript funkciju izsaukums ()

Interesanti raksti...