settimeout--原来定时器是有三个及以上参数的

我平常使用的 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;          
        }
    }
}
原文地址:https://www.cnblogs.com/z-one/p/8574288.html