##圖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)
沒有指向的值