angular.bind使用心得
作者:bea
angular.bind 解释:返回一个调用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 (Ad
angular.bind
解释:返回一个调用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传参,效果是一样的
对于那上面的英文句子(好吧,虽然只有2句),如果有写错了,那么说明深深的爱着我们的母语-中文;如果一不小心写对了,那么请为这个装的66666的B鼓掌~
文章最后,我们来看个实例吧
<!DOCTYPE HTML>
<html ng-app>
<head>
</head>
<script src="http://code.angularjs.org/1.2.3/angular.min.js"></script>
</body>
<script>
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>
</body>
</html>
有用 | 无用
解释:返回一个调用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传参,效果是一样的
对于那上面的英文句子(好吧,虽然只有2句),如果有写错了,那么说明深深的爱着我们的母语-中文;如果一不小心写对了,那么请为这个装的66666的B鼓掌~
文章最后,我们来看个实例吧
<!DOCTYPE HTML>
<html ng-app>
<head>
</head>
<script src="http://code.angularjs.org/1.2.3/angular.min.js"></script>
</body>
<script>
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>
</body>
</html>
有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- js数组如何添加json数据及js数组与json的区别
- 基于jquery实现鼠标滚轮驱动的图片切换效果
- JavaScript编程中window的location与history对象详解
- jquery移动端TAB触屏切换实现效果
- 基于jQuery实现搜索关键字自动匹配功能
- 以Python代码实例展示kNN算法的实际运用
- Windows下用PyCharm和Visual Studio开始Python编程
- php利用curl获取远程图片实现方法
- jQuery.trim() 函数及trim()用法详解
- JavaScript中的数据类型转换方法小结
- 如何实现JavaScript动态加载CSS和JS文件
- 基于javascript实现漂亮的页面过渡动画效果附源码下载
- JS实现的页面自定义滚动条效果
- JS实现的鼠标跟随代码(卡通手型点击效果)
- JS响应鼠标点击实现两个滑块区间拖动效果
- javaScript实现可缩放的显示区效果代码
- JS基于VML技术实现的五角星礼花效果代码
- jquery获取url参数及url加参数的方法
- JavaScritp添加url参数并将参数加入到url中及更改url参数的方法