
正文
js中的bind,js中的闭包
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
如何使用原生js实现jquery的bind方法
(function(){ (#mybtn).bind(click, {a : hello, b : world}, myFun);});function myFun(e) { alert(e.data.a);alert(e.data.b)} 如上面例子,可以传递多个参数。
jquery的click表示点击事件,这个很好理解,on和bind都是表示绑定一个事件,bind是jquery7以前的版本方法,从7开始,推出了on方法表示绑定,bind(),live()和delegate()都用了on()来表示,所以说on是bind的替代者。
那么当你点击一个元素时,事件就会在DOM树上往上传递,直至到达根节点。这个事件的触发器已经在根节点被.live()创建。这个触发方法将首先检测被点击的目标看是否和.live()调用的选择器相匹配。
相关问答
Q1: javascript中apply,call和bind的区别
bind是返回对应函数,便于稍后调用;apply、call则是立即调用。
call(), apply(),bind()都属于Function.prototype的一个内置方法,它是JavaScript引擎内在实现的,因为属于Function.prototype,主要就是围绕这this对象的改变操作。下面已代码逐一展示各自的用法。
所以从作用上讲,其实apply和call是一样的,他们和bind的区别就是bind 是返回对应函数,便于稍后调用;apply 、call 则是立即调用 。
apply和call功能一样,只是传入的参数列表形式不同,其中 thisArg 是你想指定的上下文,他可以是任何一个 JavaScript 对象(JavaScript 中一切皆对象),call 需要把参数按顺序传递进去,而 apply 则是把参数放在数组里。
Q2: jQuery中bind函数用法
1、(function(){ (#mybtn).bind(click, {a : hello, b : world}, myFun);});function myFun(e) { alert(e.data.a);alert(e.data.b)} 如上面例子,可以传递多个参数。
2、jQuery绑定点击事件可以使用其绑定事件函数 jquery中四个事件绑定方式(bind,live,delegate,on)bind()简要描述 bind()向匹配元素添加一个或多个事件处理器。
3、jQuery通过使用.bind()方法为元素进行事件绑定,通过使用.unbind()方法为元素进行解除绑定。而且.bind()方法是可以执行多次绑定的,如果没有绑定,在进行解除绑定的时候,这都是安全的。
4、这里需要注意的是,这里用的都是javascript里面的事件方法,而不是JQuery里面的,JQuery里面的事件方法均在JavaScript 前面多了一个“on”,比如onclick,onblur 等等。
Q3: 关于原生js中bind函数的简单实现
1、将args与绑定函数执行时的实参arguments通过concat连起来作为参数传入,就实现了bind函数初始化参数的效果。bind函数的另外一个也是最主要的作用:绑定this指向,就是通过将调用bind时的this(self)指向指定的oThis来完成。
2、关于bind的用法:可将bind函数看作是一个通用的函数适配器,它接受一个可调用对象,生成一个新的可调用对象来“适应”原对象的参数列表。
3、bind(),调用一个新创建的函数,其新函数的this值会被绑定到给定bind()的第一个参数。
4、③:var ss=函数.bind(对象,arg1,arg2,...)总结一下call,apply,bind方法:a:第一个参数都是指定函数内部中this的指向(函数执行时所在的作用域),然后根据指定的作用域,调用该函数。
js中的bind的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于js中的闭包、js中的bind的信息别忘了在本站进行查找喔。






