案例 function dso 定义 区别 som pre name
解释:返回一个调用 self 的函数 fn(self 代表 fn 里的 this). 可以给 fn 提供参数 args(*). 这个功能也被称为局部操作,以区别功能。格式:angular.bind(self,fn,args);self:object 对象; fn 的上下文对象,在 fn 中可以用 this 调用 fn:function; 绑定的方法 args:传入 fn 的参数
- var obj = {
- name: "Any"
- };
- var fn = function(Adj) {
- console.log(this.name + "is a boy!!! And he is " + Adj + " !!!");
- };
- var f = angular.bind(obj, fn, "handsome");
- f(); //Any is a boy!!! And he is handsome!!!
- var t = angular.bind(obj, fn);
- t("ugly"); // Any is a boy!!! And he is ugly!!!
接下来说说对 angular.bind 的理解吧~ bind 顾名思义绑定的意思,那么假如我们要把 A 绑到 B 上,那么必须又有 A 和 B 这 2 个存在体。这里需要的 2 个存在体就一个对象和一个函数。那么怎么绑?@野兽的理解是把对象 "绑" 到函数的 this 上去执行,这时候 fn 的 this 就等于 obj 了,至于第三个参数,可有可无,看需求,如果函数需要传入参数,那么我们可以把 angular.bind 的第三个参数放上去,这就是传入 fn 函数的参数了。案例中第一种写法是定义绑定的时候就把 fn 所需的参数传进去了,调用的时候直接用,而案例中第二种写法是先绑定,在调用执行的时候再给 fn 传参,效果是一样的
function angular.bind()
来源: http://www.bubuko.com/infodetail-2082294.html