有一些库可以让代码看起来更线性一些,例如 async, promise, co, 具体参见上面的书的附录部分。
有一些数据库驱动实现了同步的数据库查询,不过这种库基本不可能在生产环境使用,因为会阻塞其他的事件。
js代码执行速度 很大程度上依赖浏览器的引擎 不同浏览器跑 速度可能会差很多然后就是算法的时间复杂度 和处理的数据量
还有就是多次操作dom也相当耗时
你要分析下你的代码慢的原因
是循环套循环了?
还是说逻辑太复杂了
如果多次操作dom 导致页面reflow次数过多
渲染次数过多 也可能给你感觉很慢
您好,回调函数可以继续扩展一个函数的功能,可以是程序非常灵活。比如:
function showDiv(callback){
$("#div1").show()
callback($("#div1"))
}
showDiv(function($div){
$div.text("hello world")
})
//原本showDiv的功能就是现实一个div,加了callback函数当参数后就可以在执行完show之后改变div中的文字。
一般来说,callback函数用在异步中的例子比较多,因为在异步调用中,只能通过回调函数继续执行某个动作。
例如:
function myThread(callback){
return setTimeout(1000*10,function(){
$("#div").append("<p>hello</p>")//10秒后在div中加一个行,然后在执行callback函数
callback()
})
}