2015-01-06 2 views
0

나는이 코드를 리플릿 API에서 가져 갔다. 당신이 2 개 이상의 인수 바인드를 호출하면 인수 및 인수 return fn.apply(obj, args || arguments);무엇이 인수의 추론 반환 구문에서 바인드 함수

bind: function (fn, obj) { // (Function, Object) -> Function 
     var args = arguments.length > 2 ? Array.prototype.slice.call(arguments, 2) : null; 
     return function() { 
      return fn.apply(obj, args || arguments); 
     }; 
    }, 
+0

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind를 참조하십시오. – haim770

+1

이것은 내게 잘못되었습니다. 사용자가 지속적 args를 바인드하고 동시에 자신의 args를 입력 할 수 없도록합니다. –

+0

바인드가 무엇인지는 알고 있지만 여기에 너무 많은 여분의 코드가 있습니다. – airnet

답변

2

에서 무엇을하고 있는지

아무 생각이, 그것은 그 인수를 저장하지 않습니다. bind가 돌려주는 함수를 호출하면, 그 인수를 사용해 호출합니다.

2 개 이하의 인수로 bind를 호출하면 bind가 반환 한 함수를 호출 할 때 해당 인수를 전달할 때이 인수를 호출합니다.


올바른 바인드 구현이 아닌 것 같습니다. bind polyfill을 사용하려면 the one from MDN