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

代码如下

重点代码解析

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

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

总体思路:

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

    具体的重写过程为:

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

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

        ③ 调用之前的setTimeout方法

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。