JavaScript Function bind () yöntemi, bir nesnenin başka bir nesneden kopyalamadan yöntemi ödünç almasına izin verir.
bind()
Yöntemin sözdizimi şöyledir:
func.bind(thisArg, arg1,… argN)
İşte func
bir fonksiyon.
bind () Parametreleri
bind()
Yöntem alır:
thisArg
-this
için parametre olarak sağlanan değerfunc
. Yeni operatör kullanılarak bağlı işlev oluşturulursa yok sayılır .arg1,… argN
(isteğe bağlı) - Çağrılırken bağlı işleve sağlanan bağımsız değişkenlerin başına eklenecek bağımsız değişkenlerfunc
.
Notlar:
- SetTimeout içinde thisArg kullanılırken, ilkel değerler nesnelere dönüştürülür.
- Eğer
thisArg
belirtilmemişse, yürütme kapsamını bu gibi muamele edilirthisArg
.
Bind () öğesinden dönüş değeri
- Belirtilen bu değerle verilen işlevin bir kopyasını ve ilk bağımsız değişkenleri (sağlanmışsa) döndürür.
Örnek: bind () kullanma
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
Çıktı
100 1 100
Bir yöntem nesneden ayrı bir yere geçtiğinde - this
kaybolur. Orijinal nesneyi kullanarak işlevden bağlı bir işlev oluşturmak, bu sorunu düzgün bir şekilde çözer
Önerilen Okuma: JavaScript Function call ()