我平常使用的 settimeout 定时,只知道他有两个参数,一个是function异步成功后的回调函数,一个是delay延时毫秒,今天发现它还可以接着传餐,作为 执行回调函数的参数
语法:var timeId = settimeout(function(msg1, msg2, ...){...}, 1000, '回调函数参数1', '回调函数参数2', ...);
// 给一个按钮绑定点击事件,一秒后显示一个弹窗,但是在点击一次过后一秒之内不能重复点击var Click = { showAlert: function(msg1, msg2) { alert(msg1 + msg2); delete this.settimeid; }, settime: function() { this.canceltime();var that = this; this.settimeid = setTimeout(function(msg1 ,msg2){ that.showAlert(msg1, msg2); }, 1000, 'this is msg1', 'this is msg2'); }, canceltime: function() { if(typeof this.settimeid === 'number'){ clearTimeout(this.settimeid); delete this.settimeid; } }}