欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

五段實用的js高級技巧

 更新時間:2011年12月20日 00:38:40   作者:  
五段實用的js高級技巧,一些不錯的小技巧,學(xué)習(xí)js的朋友可以看看。
技巧一之setTimeout.
應(yīng)用案例:比如你想一個函數(shù)循環(huán)執(zhí)行10次,怎么辦?以前通常是先setInterval,然后clearInterval,技巧一就是克服這個問題
復(fù)制代碼 代碼如下:

(function () {
var i = 0;
function job() {
console.log(i++);
if (i < 10) {
setTimeout(job, 1000);
}
}
job();
})();

上面這個job函數(shù)就只會乖乖的執(zhí)行10次.然后自動停止
技巧二之高效的for循環(huán)
應(yīng)用案例:拋棄傳統(tǒng)的循環(huán)方式
復(fù)制代碼 代碼如下:

(function () {
var arr=[];
for(var i=arr.length;i--;){
doStuff();
}
})();

這個方式為什么高效?
一:少了一個參數(shù)l=arr.length;
二:for語句中間那個玩意少進行了一次計算,以前的話是for(i=0;i<l;i++)這樣的話中間的語句會先比較i<l 然后比較出來的結(jié)果在
跟true 或者false比較,自然多了次計算
技巧三之高效賦值
應(yīng)用案例:拋棄傳統(tǒng)的if判斷賦值
復(fù)制代碼 代碼如下:

var i=1,ret;
ret=i!==1||true;
console.log(ret);

以上代碼會很神奇的告訴你ret會是true.高效吧不用if(i!==1)了在賦值了
技巧四之強悍的簡短的attr
應(yīng)用案例:setAttribute,getAttribute.這個方法不僅可以設(shè)置標(biāo)準(zhǔn)的屬性,還可以設(shè)置任意屬性,兼容好
復(fù)制代碼 代碼如下:

function attr(elem, name, value) {
var ret;
if (value) {
if (/msie [6-7]\.0/i.test(navigator.userAgent)) {
ret = elem.getAttributeNode(name);
if (!ret) { //ie6 7不合法的屬性設(shè)置捕鳥,通過這里可以設(shè)置
ret = document.createAttribute(name);
elem.setAttributeNode(ret);
}
ret.nodeValue = value + "";
} else {
elem.setAttribute(name, value);
}
return elem;
} else { //ie6 7有得屬性獲取不鳥
ret = elem.getAttribute(name);
fixIe = elem.getAttributeNode(name).nodeValue;
ret = ret ? ret : fixIe ? fixIe : undefined;
return ret;
}
}

以上方法如何測試呢?
attr(document.getElementById("test"), "classxx", "xx")
alert(attr(document.getElementById("test"),"classxx"));
技巧五之getElementsByClassName.
應(yīng)用案例 :以前js沒什么框架的時候,大家都再模仿這個方法,看看今天我是怎么高效的模仿出它來.這也不愧是js初學(xué)者的經(jīng)典代碼
復(fù)制代碼 代碼如下:

(function () {
var getElementsByClassName=function(cls,context){
var root = context || document;
return document.querySelectorAll ? root.querySelectorAll("." + cls) : root.getElementsByClassName ?
root.getElementsByClassName(cls) : help("*", cls, context);
}
var help=function(tagName,cls,context){
var root= context || document,
ret=[],elems,i,
rcls=new RegExp("^|\\s+"+cls+"\\s+|$");
elems = root.getElementsByTagName(tagName || "*");
for(i=elems.length;i--;){
if(rcls.test(elem[i].className)){
ret.push(elems[i]);
}
}
return ret;
}
})();

以上幾個js淫蕩技巧還是蠻實用的,前提是你沒用使用別人的js框架,用原生創(chuàng)造效率為前提的代碼.
還是那句話js代碼愛好者nothing原創(chuàng),謝謝大家支持,覺得寫得好可以頂下,或者把鏈接發(fā)給朋友

相關(guān)文章

  • 中級前端工程師必須要掌握的27個JavaScript 技巧(干貨總結(jié))

    中級前端工程師必須要掌握的27個JavaScript 技巧(干貨總結(jié))

    這篇文章主要介紹了中級前端工程師必須要掌握的27個JavaScript 技巧(干貨總結(jié)),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-09-09
  • 淺談在fetch方法中添加header后遇到的預(yù)檢請求問題

    淺談在fetch方法中添加header后遇到的預(yù)檢請求問題

    下面小編就為大家?guī)硪黄獪\談在fetch方法中添加header后遇到的預(yù)檢請求問題。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • JavaScript使用setInterval()函數(shù)實現(xiàn)簡單輪詢操作的方法

    JavaScript使用setInterval()函數(shù)實現(xiàn)簡單輪詢操作的方法

    這篇文章主要介紹了JavaScript使用setInterval()函數(shù)實現(xiàn)簡單輪詢操作的方法,以實例形式分析了輪詢操作的原理與javascript實現(xiàn)技巧,需要的朋友可以參考下
    2015-02-02
  • js跨域請求的5中解決方式

    js跨域請求的5中解決方式

    這篇文章主要介紹了js跨域請求的5中解決方式的相關(guān)資料,需要的朋友可以參考下
    2015-07-07
  • 怎么使用javascript深度拷貝一個數(shù)組

    怎么使用javascript深度拷貝一個數(shù)組

    一般情況下,使用 “=” 可以實現(xiàn)賦值。但對于數(shù)組、對象、函數(shù)等這些引用類型的數(shù)據(jù),這個符號就不好使了。下面我們來詳細(xì)學(xué)習(xí)下吧
    2019-06-06
  • 詳解JavaScript中的坐標(biāo)和距離

    詳解JavaScript中的坐標(biāo)和距離

    在前端開發(fā)中總會遇到各種各樣需要使用或計算坐標(biāo)和距離的情況,于是便有了整理記錄的想法,即加深了印象,又方便隨時查閱。
    2019-05-05
  • postcss-pxtorem實現(xiàn)頁面自適應(yīng)的原理解析

    postcss-pxtorem實現(xiàn)頁面自適應(yīng)的原理解析

    postcss-pxtorem是一個PostCSS插件,用于將CSS中的像素值轉(zhuǎn)換為rem單位,以實現(xiàn)響應(yīng)式布局和適配不同屏幕尺寸的需求,本文給大家介紹postcss-pxtorem實現(xiàn)頁面自適應(yīng)的原理解析,感興趣的朋友一起看看吧
    2023-12-12
  • JS面向?qū)ο缶幊虒崿F(xiàn)的Tab選項卡案例詳解

    JS面向?qū)ο缶幊虒崿F(xiàn)的Tab選項卡案例詳解

    這篇文章主要介紹了JS面向?qū)ο缶幊虒崿F(xiàn)的Tab選項卡,結(jié)合具體案例形式詳細(xì)分析了JS基于面向?qū)ο蟪绦蛟O(shè)計實現(xiàn)Tab選項卡的相關(guān)操作技巧,需要的朋友可以參考下
    2020-03-03
  • js模擬實現(xiàn)京東詳情頁圖片放大效果

    js模擬實現(xiàn)京東詳情頁圖片放大效果

    這篇文章主要為大家詳細(xì)介紹了js模擬實現(xiàn)京東詳情頁圖片放大效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • WebSocket中心跳檢測與斷開重連機制詳解

    WebSocket中心跳檢測與斷開重連機制詳解

    心跳檢測是指在WebSocket連接過程中定時向服務(wù)端發(fā)送和接收心跳消息,來確定當(dāng)前連接是否是正常狀態(tài)的檢測機制,斷開重連是指在WebSocket不正常斷開連接后,進行重新連接的策略,下面我們就來看看這二者的具體實現(xiàn)吧
    2024-01-01

最新評論