函数优化(函数节流 函数去抖)
节流:函数调用量(函数调用频次)
<p>搜索 <input type="text" id="ipt"></p>
<ul id="search-list">
<li>你好</li>
</ul>
<script src="./utils.js"></script>
<script>
var t = null;
_("#ipt").oninput = function(){
var value = this.value;、
if( typeof t === "number" ){
return false;
}
// 每100ms毫秒只能执行一次;
t = setTimeout( function(){
t = null;
jsonp(url,callback,file_name,data));
} , 100)
}
function renderSearch(res){
var search_list = res.g;
var html = "";
if( search_list === undefined ){
return _("#search-list").innerHTML = html;
}
search_list.forEach( function( item ){
html += "<li>"+ item.q +"</li>"
})
_("#search-list").innerHTML = html;
}
去抖:无论执行多少次,都只关注最后一次,最后一次执行结束之后某段时间,我们再去执行对应的程序
<p>搜索 <input type="text" id="ipt"></p>
<ul id="search-list">
<li>你好</li>
</ul>
<script>
var t = null;
_("#ipt").oninput = function(){
clearTimeout(t);
t = setTimeout(function(){
var value = this.value;
jsonp(url,callback,file_name,data));
}.bind(this),500) }
function renderSearch(res){
var search_list = res.g;
var html = "";
if( search_list === undefined ){
return _("#search-list").innerHTML = html;
}
search_list.forEach( function( item ){
html += "<li>"+ item.q +"</li>"
})
_("#search-list").innerHTML = html;
}
浙公网安备 33010602011771号