>[success] # 回调函数 ~~~ 1.在'es5'时期回调我们最常用的地方就是'ajax'异步请求的时候 2.在我们写代码的时候可以吧那些可扩展的逻辑,抽离出来以回调函数的形式 展示 ~~~ >[danger] ##### 对第二条的解释 ~~~ 1.比如,想在页面中创建100个div节点,然后把这些div节点都设置为隐藏。 下面是一种编写代码的方式: ~~~ ~~~ var appendDiv = function(){ for ( var i = 0; i < 100; i++ ){ var div = document.createElement( 'div' ); div.innerHTML = i; document.body.appendChild( div ); div.style.display = 'none'; } }; appendDiv(); ~~~ ~~~ 1.把div.style.display = 'none'的逻辑硬编码在appendDiv里显然是不合理的, appendDiv未免有点个性化,成为了一个难以复用的函数,并不是每个人创建 了节点之后就希望它们立刻被隐藏,于是把div.style.display = 'none'这行代码 抽出来,用回调函数的形式传入appendDiv方法 ~~~ ~~~ var appendDiv = function( callback ){ for ( var i = 0; i < 100; i++ ){ var div = document.createElement( 'div' ); div.innerHTML = i; document.body.appendChild( div ); if ( typeof callback === 'function' ){ callback( div ); } } }; appendDiv(function( node ){ node.style.display = 'none'; }); ~~~