您的位置:首頁技術文章
文章詳情頁

javascript - 關于事件綁定時指定this的問題,求助

瀏覽:101日期:2022-11-13 18:59:46

問題描述

function Tab($selector){ var _this = this;// 這種可以保證this正確,但是這樣寫很累贅 $selector.on('click', function(){_this.switchIndex(); }); // 不兼容ie某些瀏覽器 $selector.on('click', this.switchIndex.bind(this));// 這種方式綁定會導致switchIndex內部的this為$selector,除了上面那些, // 還有其他比較自然的方式嗎? $selector.on('click', this.switchIndex);}Tab.prototype = { switchIndex: function(){// ... }};

問題解答

回答1:

講真,第一種,很常見了,用多了也沒啥。

當然,如果喜歡第二種,可以考慮用bind的polyfill(即在沒有bind的情況下利用call等方法來實現bind)。

ps: es6的話,箭頭函數就沒有這種煩惱,但正如第二種的情況,只支持高版本現代瀏覽器。

標簽: JavaScript
相關文章:
国产综合久久一区二区三区