图2调用图1的的函数,输出的是Undefined,但是在图2在JQ点击事件里也了一模一样的代码就有输出结果。然后我又在test函数里声明了一个变量obj获取了属性为name=component_checkbox[]的所有对象,此时在JQ点击事件里调用此函数是有输出的。我的问题就是为什么图2里的test()是图1里的代码就没有输出结果而是undefined?
图二替换成这样:
// test() 要指定this 为被点击的元素 test.call(this); // 利用call方法
MDN - Function.prototype.call
因为this的作用域不一样了,click那个闭包里this指的是你选中的checkbox,test函数里this是window或者别的object
图一的 $(this) 没有指向的值
$(this)
图二替换成这样:
MDN - Function.prototype.call
因为this的作用域不一样了,click那个闭包里this指的是你选中的checkbox,test函数里this是window或者别的object
图一的
$(this)
没有指向的值