如何使处理事件响应的函数的域为触发事件的对象,即在处理事件函数中,this指向的是触发事件的对象,而不是global对象,默认为window。
无参的处理事件响应函数:
domObj.eventName = handleFunction;
有参的处理事件响应函数:
方法一,使用arguments:
domObj.eventName = handleFunction;
function handleFunction() {
//使用arguments[i]来访问传入参数
}
方法二,用匿名函数:
domObj.eventName = function() {
return function(that) {
handleFunction(arg1,arg2,that);
}(domObj);
};
function handleFunction(arg1,arg2,that) {
//用that替代this
}
本文介绍了如何在处理事件响应的函数中确保this指向触发事件的对象而非全局对象。通过无参及有参处理函数示例,展示了使用arguments及匿名函数等方法实现正确的this绑定。
4234

被折叠的 条评论
为什么被折叠?



