这篇文章给大家分享的是有关javascript中bind指的是什么意思的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
JavaScript是一种直译式的脚本语言,其解释器被称为JavaScript引擎,是浏览器的一部分,JavaScript是被广泛用于客户端的脚本语言,最早是在HTML网页上使用,用来给HTML网页增加动态功能。
javascript中bind是EcmaScript5新增的方法,bind()方法用于创建一个新的函数,当被调用时,将其this关键字设置为提供的值,在调用新函数时,在任何提供之前提供一个给定的参数序列。
本文操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。
浅谈js中的bind
这篇文章主要介绍了js中的bind应用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
提到bind方法,估计大家还会想到call方法、apply方法;它们都是Function对象内建的方法,它们的第一个参数都是用来更改调用方法中this的指向。需要注意的是bind 是返回新的函数,以便稍后调用;apply 、call 则是立即调用原函数 。而今天我们主要讲解bind方法的理解与使用。
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,20 var 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中bind指的是什么意思”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。