美文网首页
重写setTimeout方法,实现传递多个参数

重写setTimeout方法,实现传递多个参数

作者: NIHUOSHEN | 来源:发表于2018-06-07 20:45 被阅读0次

代码如下

重点代码解析

    var args = [].slice.call(arguments,2);  将伪数组转换成数组并截取数据

    callback.apply(null, args);  重新构造setTimeout中的方法

总体思路:

    定义一个函数(此例中为overrideSetTimeout函数),返回一个经过重写的setTimeout的回调函数。

    具体的重写过程为:

        ① 将传入的arguments对象转换为数组对象,并截取所需的参数

        ② 通过apply()方法将截取到的参数传递到setTimeout中的回调函数中

        ③ 调用之前的setTimeout方法

接下来,在调用setTimeout函数是即可传入多个参数,传递多个参数的需求也就实现了

相关文章

网友评论

      本文标题:重写setTimeout方法,实现传递多个参数

      本文链接:https://www.haomeiwen.com/subject/hmjnsftx.html