Javascript에서 this매개 변수 를 바인딩하지 않고 인수를 함수에 바인딩하는 방법은 무엇입니까?
예를 들면 :
//Example function.
var c = function(a, b, c, callback) {};
//Bind values 1, 2, and 3 to a, b, and c, leave callback unbound.
var b = c.bind(null, 1, 2, 3); //How can I do this without binding scope?
함수의 범위 (예 : 설정 this= null) 를 바인딩해야하는 부작용을 어떻게 피할 수 있습니까?
편집하다:
혼란을 드려 죄송합니다. 인수를 바인딩 한 다음 나중에 바인딩 된 함수를 호출하고 마치 원래 함수를 호출하고 바인딩 된 인수를 전달한 것처럼 정확하게 동작하도록 할 수 있습니다.
var x = 'outside object';
var obj = {
x: 'inside object',
c: function(a, b, c, callback) {
console.log(this.x);
}
};
var b = obj.c.bind(null, 1, 2, 3);
//These should both have exact same output.
obj.c(1, 2, 3, function(){});
b(function(){});
//The following works, but I was hoping there was a better way:
var b = obj.c.bind(obj, 1, 2, 3); //Anyway to make it work without typing obj twice?
나는 이것에 아직 새롭다. 혼란을 끼쳐서 미안하다.
감사!
bind()BE를 null? FF에서 잘 작동하는 것 같습니다.
thisJavaScript에서 완전히 바인딩을 해제 할 수는 없습니다 . 그것은 항상 무언가를 의미 합니다 . 바인딩 그래서 this받는 this둘러싸 기능의 많은 이해된다.
this합니까?var b = c.bind(this, 1,2,3);