求问关于在javascript中bind的用法,有大佬了解的吗?

javascript bind的用法,请高手指点!

月关宝盒
浏览 221回答 3
3回答

偶然的你

javascript的bindbind主要是为了改变函数内部的this指向,这个是在ECMA5以后加入的,所以IE8一下的浏览器不支持bind方法会创建一个新函数,称为绑定函数.当调用这个绑定函数时,绑定函数会以创建它时传入bind方法的第一个参数作为this,传入bind方法的第二个以及以后的参数加上绑定函数运行时本身的参数按照顺序作为原函数的参数来调用原函数.可以看这段实例:var logger = {    x: 0,           updateCount: function(){        this.x++;        console.log(this.x);    }}  // 下面两段代码的实现是一样的  document.querySelector('button').addEventListener('click', function(){    logger.updateCount();}); //用这种方式让代码更简洁,当然这只是bind的一种场景document.querySelector('button').addEventListener('click', logger.updateCount.bind(logger));

心有法竹

对多个事件进行处理当点击鼠标时,隐藏或显示 p 元素:$("button").bind("click",function(){$("p").slideToggle();});

当年话下

bind( )方法用于将一个处理程序附加到每个匹配元素的事件上并返回jQuery对象。.bind(eventType[, evnetData], Handler(eventObject))其中,参数eventType是一个字符串,包含一个或多个javaScript事件类型,例如click,submit或自定义事件的名称,指定多个事件类型时用空格分隔各个类型;eventData为Map类型,给出要传递给事件处理程序的数据,handler指定触发该事件时要执行的函数,eventObject表示事件对象。.bind()方法将事件处理程序handler附加到匹配元素集合中的每个元素的eventType事件上,如果需要,还可以向事件处理程序传递数据。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java
JavaScript