2017-01-06 25 views
1

在角documentation它說,你可以把一個對象,並將其與可選的參數,像這樣綁定到一個函數:爲什麼angular.bind()存在,而核心JavaScript具有相同的功能?

angular.bind(self, fn, args); 

如果我理解正確的「自我」成爲返回(和修改「本」 )fn。

這也容易與核心JavaScript完成:

fn.apply(OBJ,參數);

我失去了一些東西在這裏?

+0

這樣你可以模擬/單元測試更好 – devqon

+1

請參閱http://stackoverflow.com/questions/30529933/what-is-the-use-of-angular-bind-in-angularjs-where-to-use-it – Barudar

回答

2

angular.bind用指定的上下文創建包裝函數。 它是Function.prototype.bind的對應部分,而不是Function.prototype.apply

angular.bind有沒有從過去的日子裏,這是JS圖書館自給自足,不依賴於標準和polyfills(致敬jQuery和jQuery.proxy)的良好禮儀。這通常會導致更小的佔地面積。

angular.bindfn.apply將不會與new ed ES6類一起工作,如果符合案例,最好堅持fn.bind

相關問題