在使用javascript时,我还是一个新手,我有以下代码行:
nextButton.addEventListener('click', this.switchMonth.bind(this, true), false);
和switchMonth函数定义如下:
switchMonth(next, month, year, dayUTC, dates, datesChosen) {}
我希望addEventlistener函数的true为传递给switchMonth的第一个参数(布尔true为switchMmonth的第一个参数)。但是,在这种情况下,事件对象作为第二个参数传递给switchMonth。如何避免这种情况,仅将一个参数传递给swtichMonth,即传递给addEventListener方法内部的布尔值?
答案 0 :(得分:2)
将sudo chown -R mongodb:mongodb /data/db
传递给.bind
的匿名函数可能要容易得多,该匿名函数使用一个所需的参数调用addEventListener
(并使用箭头函数,以便{ {1}}是从外部代码块继承的。
还要注意switchMonth
,this
的第三个参数:
MDN:如果未指定,则useCapture默认为false。
因此,为简洁起见,最好省略它,否则只是噪音。
addEventListener
如果必须单独使用useCapture
和nextButton.addEventListener('click', () => {
this.switchMonth(true);
});
,而没有其他功能,则必须.bind
所有个参数以确保稍后通过的.bind
被丢弃:
bind
(不要这样做)