javascript中bind是什么意思

javascript中bind是EcmaScript5新增的方法,bind()方法用于创建一个新的函数,当被调用时,将其this关键字设置为提供的值,在调用新函数时,在任何提供之前提供一个给定的参数序列。

javascript中bind是什么意思

本文操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。

浅谈js中的bind

这篇文章主要介绍了js中的bind应用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

提到bind方法,估计大家还会想到call方法、apply方法;它们都是Function对象内建的方法,它们的第一个参数都是用来更改调用方法中this的指向。需要注意的是bind 是返回新的函数,以便稍后调用;apply 、call 则是立即调用原函数 。而今天我们主要讲解bind方法的理解与使用。

立即学习“Java免费学习笔记(深入)”;

bind方法是EcmaScript5新增的方法,该方法在mdn上是这么介绍的:

bind()方法创建一个新的函数(称为绑定函数), 当被调用时,将其this关键字设置为提供的值,在调用新函数时,在任何提供之前提供一个给定的参数序列。

语法:

fun.bind(thisArg[, arg1[, arg2[, …]]])

登录后复制

参数thisArg表示:当绑定函数被调用时,该参数会作为this的指向。当使用new 操作符调用绑定函数时,该参数无效。

参数arg1, arg2, …表示:当绑定函数被调用时,这些参数将置于实参之前传递给被绑定的方法。

先来看个例子:

this.name="jack";var demo={name:"rose",getName:function(){return this.name;}} console.log(demo.getName());//输出rose 这里的this指向demo var another=demo.getName;console.log(another())//输出jack 这里的this指向全局对象  //运用bind方法更改this指向var another2=another.bind(demo);console.log(another2());//输出rose 这里this指向了demo对象了

登录后复制

bind的应用

可以对一个函数预设初始参数:

function a(){return Array.prototype.slice.call(arguments);//将类数组转换成真正的数组}var b=a.bind(this,15,20)alert(b());//弹出 15,20var s=b(25,30);alert(s);//弹出 15,20,25,30

登录后复制

js bind的多次绑定只有第一次是有效的

var getname = function(){console.log(this.name)};var m = getname.bind({name:'q1'}).bind({name:'q2'});m();

登录后复制

输出的是q1

【推荐学习:javascript高级教程】

以上就是javascript中bind是什么意思的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2714122.html

(0)
上一篇 2025年3月7日 21:31:01
下一篇 2025年2月28日 12:39:35

AD推荐 黄金广告位招租... 更多推荐

相关推荐

发表回复

登录后才能评论