angular.bind方法
2017-07-25 11:19 蝶梦中 阅读(205) 评论(0) 编辑 收藏 举报返回一个绑定到self调用fn函数的方法(self在fn函数中是this)。你可以在该函数中使用可选的args参数。这个功能可认为是一个函数绑定,跟函数柯里化有区别。
使用方法:
angular.bind(self, fn, args);
参数
参数名称 | 参数类型 | 描述 |
self | Object | fn的上下文对象,使用this调用 |
fn | Function | 被绑定的函数 |
args | * | 传入fn中的参数(可选) |
返回值:
Function() :返回动态绑定之后的函数
实例
<script src="../angular.js"></script> <script type="text/javascript"> var self = { name: 'boyi' }; //示例1--带参数 var f = angular.bind(self, //绑定对象,作为函数的上下文 //被绑定的函数 function (age) { alert(this.name + ' is ' + age + ' !'); }, //绑定的参数,可省略 '15' ); f();//调用绑定之后的function //示例2--不带参数 var m = angular.bind(self, //绑定对象,作为函数的上下文 //被绑定的函数 function (age) { alert(this.name + ' is ' + age + ' !'); } //省略参数 ); m(3);//调用传参的函数 </script>
tips:函数柯里化的基本方法和函数绑定是一样的,使用一个闭包返回一个函数。两者的区别在于,当函数被调用时,返回的函数还需要设置一些传入的参数。curry()仅仅接受一个要包裹的函数作为参数,而bind()同时接受函数和一个object对象。