首页 > 网站 > WEB开发 > 正文

JavaScript高级程序设计之函数性能

2024-04-27 14:22:46
字体:
来源:转载
供稿:网友

javaScript高级程序设计之函数性能

setTimeout 比 setInterval 性能更好

// 取代setIntervalsetTimeout(function self () {        // code goes here    setTimeout(self, interval);}, interval);

对异步执行的大数组的分割执行

// 大块、异步数组的处理function chunk(arr, PRocess, context) {    setTimeout(function self() {        var item = arr.shift();        process.call(context, item);        if (arr.length > 0) {            setTimeout(self, 100)        }    }, 100)}var arr = ["123", "456", "789", "123", "456", "789", "123", "456", "789"],    process = function (item) {        console.log(item);    };// arr.concat() 返回arr数组的一个副本;否则chunk后arr成为了空数组chunk(arr.concat(), process);

函数节流

// 函数节流,某些代码没必要没有间断的连续重复执行,如winddow.onresize = function(){ throttle(fn); }function throttle(method, context) {    clearTimeout(method.tId);    method.tId = setTimeout(function () {        method.call(context)    }, 100)}window.onscroll = function () {    throttle(function () {        console.log(document.documentElement.scrollTop);    });};


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表