<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專(zhuān)題視頻專(zhuān)題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專(zhuān)題1關(guān)鍵字專(zhuān)題50關(guān)鍵字專(zhuān)題500關(guān)鍵字專(zhuān)題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專(zhuān)題關(guān)鍵字專(zhuān)題tag2tag3文章專(zhuān)題文章專(zhuān)題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專(zhuān)題3
        問(wèn)答文章1 問(wèn)答文章501 問(wèn)答文章1001 問(wèn)答文章1501 問(wèn)答文章2001 問(wèn)答文章2501 問(wèn)答文章3001 問(wèn)答文章3501 問(wèn)答文章4001 問(wèn)答文章4501 問(wèn)答文章5001 問(wèn)答文章5501 問(wèn)答文章6001 問(wèn)答文章6501 問(wèn)答文章7001 問(wèn)答文章7501 問(wèn)答文章8001 問(wèn)答文章8501 問(wèn)答文章9001 問(wèn)答文章9501
        當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

        提高javascript效率一次判斷,而不要次次判斷_javascript技巧

        來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 21:02:48
        文檔

        提高javascript效率一次判斷,而不要次次判斷_javascript技巧

        提高javascript效率一次判斷,而不要次次判斷_javascript技巧:判斷嘛,就是面臨2個(gè)或以上的選項(xiàng)時(shí)進(jìn)行選擇。比如我家門(mén)前去公司有一個(gè)岔路,只要我第一次知道了哪一條路是對(duì)的,那我下一次或以后的每次都不用再思考了,直接走那條路即可——當(dāng)然,突發(fā)天災(zāi)時(shí)不算。 做出判斷是需要時(shí)間的,是需要對(duì)應(yīng)條件的。正確的判斷很
        推薦度:
        導(dǎo)讀提高javascript效率一次判斷,而不要次次判斷_javascript技巧:判斷嘛,就是面臨2個(gè)或以上的選項(xiàng)時(shí)進(jìn)行選擇。比如我家門(mén)前去公司有一個(gè)岔路,只要我第一次知道了哪一條路是對(duì)的,那我下一次或以后的每次都不用再思考了,直接走那條路即可——當(dāng)然,突發(fā)天災(zāi)時(shí)不算。 做出判斷是需要時(shí)間的,是需要對(duì)應(yīng)條件的。正確的判斷很

        判斷嘛,就是面臨2個(gè)或以上的選項(xiàng)時(shí)進(jìn)行選擇。比如我家門(mén)前去公司有一個(gè)岔路,只要我第一次知道了哪一條路是對(duì)的,那我下一次或以后的每次都不用再思考了,直接走那條路即可——當(dāng)然,突發(fā)天災(zāi)時(shí)不算。
        做出判斷是需要時(shí)間的,是需要對(duì)應(yīng)條件的。正確的判斷很好,但每次面臨岔路,哪怕是走了無(wú)數(shù)次的岔路,都來(lái)進(jìn)行一下判斷,無(wú)疑是一種腦殘行為。

        下面來(lái)看一個(gè)我們平時(shí)經(jīng)常看到的JS函數(shù),他的作用是判斷瀏覽器類(lèi)型然后設(shè)置對(duì)應(yīng)的透明度屬性:
        代碼如下:
        function setAlpha(obj,alpha){
        if (-[1,]) obj.style.opacity = alpha / 100;
        else obj.style.filter = "alpha(opacity=" + alpha + ")";
        }

        這個(gè)函數(shù)有錯(cuò)嗎?沒(méi)有。先判斷瀏覽器是否是標(biāo)準(zhǔn)瀏覽器,如果是,就直接通過(guò)opacity設(shè)置透明;如果不是,則使用IE濾鏡來(lái)實(shí)現(xiàn)透明度。

        邏輯清晰,代碼簡(jiǎn)練,精品啊!

        不過(guò),沒(méi)有錯(cuò)誤,卻有失誤。

        通常,這種設(shè)置透明度的函數(shù)都會(huì)用來(lái)制作淡入淡出效果,也就是說(shuō)它會(huì)被setTimeout一次次的調(diào)用,直到循環(huán)結(jié)束。

        這時(shí)候問(wèn)題就來(lái)了。回到前面的岔路問(wèn)題,這個(gè)函數(shù)就相當(dāng)于,每次來(lái)到路口,都要思考判斷。第1次,來(lái)到路口,騷等,我看看,噢,是firefox啊,走第1條路;第2次,又來(lái)到這路口,等等,我看看,噢,又是firefox啊,還走第1條路……第3次……第4次。。不管多少次,這個(gè)函數(shù)都會(huì)像最敬業(yè)的交警一樣來(lái)查看你的身份————你,不煩嗎?你不煩我都煩了!

        這時(shí)候,如果你是過(guò)路的,你肯定希望這個(gè)交警消失。

        其實(shí),遇到岔路我們可以這樣:既然已經(jīng)知道只走一條路,那我干脆把另外的路給堵死算了!當(dāng)然在現(xiàn)實(shí)生活中不可能這樣做,不過(guò)在代碼里卻不難實(shí)現(xiàn),換個(gè)思路即可。

        javascript有個(gè)神奇的地方,就是匿名函數(shù)(通常用來(lái)自執(zhí)行),自執(zhí)行函數(shù)的意思是呢,他聲明的時(shí)候就執(zhí)行掉了,以后就不會(huì)再出現(xiàn)了,你想找都不定能找到!個(gè)人覺(jué)得,這個(gè)性不錯(cuò)。

        看下面的代碼,同樣是設(shè)置透明度的函數(shù):

        代碼如下:
        var setAlpha = (function(obj,alpha){
        var set;
        if (-[1,]) {
        set = function (obj,alpha) {
        obj.style.opacity = alpha * 0.01;
        }
        }
        else {
        set = function(obj,alpha){
        obj.style.filter = "alpha(opacity=" + alpha + ")";
        }
        }
        return set;
        })()

        也許你要不滿(mǎn)了:這是什么玩意兒啊,好像初學(xué)者的水平(被你看穿了。。)但是!這個(gè)卻比前面的版本效率高很多。不信你可以在firefox和ie6下分別alert一下這個(gè)函數(shù),就明白了。

        通過(guò)自執(zhí)行函數(shù),當(dāng)聲明setAlpha的時(shí)候就執(zhí)行了函數(shù),而這個(gè)函數(shù)的作用就是,判斷瀏覽器,并確定該使用哪種設(shè)置透明度的方法。由于瀏覽器的類(lèi)型在打開(kāi)頁(yè)面后就不可能再變化,也就是以后都不用再判斷了。就算你調(diào)用10萬(wàn)次這個(gè)函數(shù),他也不會(huì)再判斷,而是直接執(zhí)行。

        雖然代碼丑,但境界就不同了…

        這個(gè)例子只是一個(gè)小小示范,我只是希望你能明白【一次判斷,而不要次次判斷】的道理,并發(fā)揚(yáng)光大。減少判斷次數(shù),對(duì)js的效率是一個(gè)很大的提高。
        轉(zhuǎn)自:jo2.org

        聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        提高javascript效率一次判斷,而不要次次判斷_javascript技巧

        提高javascript效率一次判斷,而不要次次判斷_javascript技巧:判斷嘛,就是面臨2個(gè)或以上的選項(xiàng)時(shí)進(jìn)行選擇。比如我家門(mén)前去公司有一個(gè)岔路,只要我第一次知道了哪一條路是對(duì)的,那我下一次或以后的每次都不用再思考了,直接走那條路即可——當(dāng)然,突發(fā)天災(zāi)時(shí)不算。 做出判斷是需要時(shí)間的,是需要對(duì)應(yīng)條件的。正確的判斷很
        推薦度:
        標(biāo)簽: 效率 一次 javascript
        • 熱門(mén)焦點(diǎn)

        最新推薦

        猜你喜歡

        熱門(mén)推薦

        專(zhuān)題
        Top
        主站蜘蛛池模板: 亚洲中文字幕无码永久在线| 亚洲熟妇丰满多毛XXXX| 99人中文字幕亚洲区| 亚洲午夜在线一区| 亚洲免费在线播放| 2022年亚洲午夜一区二区福利| 久久久免费的精品| 91精品国产亚洲爽啪在线观看| 99re在线视频免费观看| 国产美女无遮挡免费网站| 亚洲AV无码一区东京热久久| 美女巨胸喷奶水视频www免费| 亚洲日韩精品一区二区三区无码 | 国产又长又粗又爽免费视频| 亚洲精品精华液一区二区| 无码国模国产在线观看免费| 青青草国产免费国产是公开 | 永久黄色免费网站| 亚洲kkk4444在线观看| 四虎永久成人免费影院域名| 免费视频成人国产精品网站| 久久久久久a亚洲欧洲aⅴ| 精品久久久久久亚洲中文字幕| 国产99视频精品免费视频7| 亚洲高清免费视频| 亚洲午夜精品久久久久久人妖| 性短视频在线观看免费不卡流畅 | 亚洲最大的黄色网| 久久久久久夜精品精品免费啦| 一个人免费观看www视频在线| 亚洲国产三级在线观看| 亚洲免费中文字幕| 高h视频在线免费观看| 久久亚洲AV午夜福利精品一区| 久久精品无码一区二区三区免费| 国产精品亚洲综合网站| 亚洲国产综合91精品麻豆| 四虎成人免费观看在线网址 | 中文文字幕文字幕亚洲色| 亚洲成av人在片观看| 99久久99久久免费精品小说|