你不知道的this—JS异步编程中的this
发布时间:2016-07-10 11:00:05
Javascript小学生都知道了javascript中的函数调用时会 隐性的接收两个附加的参数:this和arguments。参数this在javascript编程中占据中非常重要的地位,它的值取决于调用的模式。总的来说Javascript中函数一共有4中调用模式:方法调用模式 ...
Javascript小学生都知道了javascript中的函数调用时会 隐性的接收两个附加的参数:this和arguments。参数this在javascript编程中占据中非常重要的地位,它的值取决于调用的模式。总的来说Javascript中函数一共有4中调用模式:方法调用模式、普通函数调用模式、构造器调用模式、apply/call调用模式。这些模式在如何初始化关键参数this上存在差异。“可能还有小伙伴不知道它们之间的区别,那我就勉为其难撸一撸吧!”
方法调用模式:函数是在某个明确的上下文对象中调用的,this绑定的是那个上下文对象。
使用DOM0级方法指定的事件处理程序被认为是元素的方法。因此,这时候的事件处理程序是在元素的作用域中运行;换句话说,程序中的 this 引用当前元素。来看一个例子。
要在按钮上为 click 事件添加事件处理程序,可以使用下列代码:那上面的例子能否实现事件委托前的功能呢,我们用下面的代码在浏览器中测试一下:
也就是说不论点击哪一个列表,弹出的是父元素的ID,那么该怎么改写才能实现预期的功能呢?我们知道事件对象event有很多属性,其中包括两个属性currentTarget和target,在事件处理程序内部,对象this 始终等于currentTarget 的值(也就是添加事件处理程序的元素),而target则只包含事件的实际目标。如果直接将事件处理程序指定给了目标元素则 this、currentTarget 和target包含相同的值。如果事件处理程序是被委托代理的,那么这些值一般不同。来看下面的例子。
参考:
《JavaScript高级程序设计》
《You Don't Konw JS:This&Object Prototypes》
《JavaScript语言精粹》
来自为知笔记(Wiz)
原标题:你不知道的this—JS异步编程中的this
关键词:JS
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。
国内好的旅游景点:https://www.vstour.cn/t/国内好的旅游景点.html
国内好的旅游网站:https://www.vstour.cn/t/国内好的旅游网站.html
国内好玩的景点:https://www.vstour.cn/t/国内好玩的景点.html
国内好玩的旅游景点:https://www.vstour.cn/t/国内好玩的旅游景点.html
国内会议旅游:https://www.vstour.cn/t/国内会议旅游.html
国内机票预订查询:https://www.vstour.cn/t/国内机票预订查询.html
深圳大运中心附近商圈有哪些:https://www.vstour.cn/a/336167.html
深圳大运中心附近吃饭的地方推荐:https://www.vstour.cn/a/336168.html