三区在线视频_99免费观看_2021国产成人午夜精品_亚洲国产一区二区三区精品

蒙狼科技logo
設(shè)為首頁| 聯(lián)系我們
咨詢熱線: 13917498722
  您的位置: 首頁 > 網(wǎng)站資訊 > 初學(xué)者應(yīng)該了解的編程陷阱javascript篇

初學(xué)者應(yīng)該了解的編程陷阱javascript篇

發(fā)布日期:2017/6/20

百度權(quán)重查詢 站長交易 友情鏈接交換 網(wǎng)站監(jiān)控 服務(wù)器監(jiān)控 seo監(jiān)控

對于初學(xué)編程語言的同伙來說,經(jīng)常會犯一些比較“經(jīng)典”的錯誤。在這一系列文章中,我們將介紹如何讓初學(xué)編程的同伙避免一些基本的錯誤,并且了解如何準(zhǔn)確的編程和開發(fā)代碼。

這一篇文章中,我們介紹5個javascript代碼開發(fā)中需要注重的問題和技巧。

冗余的DOM操作

DOM操作眾所周知是比較重量級的。有用的限制交互可以大大的幫助你提高你的代碼的性能。看看下面這段代碼:

// anti-pattern

for (var i = 0; i < 100; i++){

var li = $(“<li>”).html(“This is list item #” + (i+1)); 

 

$(“#someUL”).append(li);

}

這段代碼循環(huán)修改DOM100次,但是創(chuàng)建了100個jQuery對象。更好的體例是使用document片段,或者創(chuàng)建一個String來包含100個

元素,然后再添加到DOM中去。這里你只需要執(zhí)行一次DOM操作。 

優(yōu)化后的代碼:

var liststring = “”;

for (var i = 100; i > 0; i--){

liststring += “<li>This is list item #” + (99- i);  

}

document.getElementById(“someUL”).innerHTML(liststring);

以上代碼只調(diào)用了一次DOM操作,但是大量使用了字符串的連接操作。除了使用字符串連接,我們可以使用數(shù)組來顯示。

var liststring = “<li>”  

var lis = [];

for (var i = 100; i > 0; i--){

lis.push(“This is list item #” + (99- i));

}

liststring += lis.join(“</li><li>”) + “<li>”;  

document.getElementById(“someUL”).innerHTML(liststring);

當(dāng)創(chuàng)建大量的字符串時,保存每一個字符串到數(shù)組里,然后調(diào)用join()方法來連接。在javascript中,這是不使用模板類庫和框架外的好高效的字符串連接操作體例。

在線調(diào)試

變量和方法名不一致

這可能不是一個性能問題,但是對于編程來說特別很是主要,特殊是當(dāng)你需要維護別人的代碼。看看如下例子:

var foo = “bar”;

var plant = “green”;

var car = “red”;

假如你再添加一個變量叫“something”可能就不是那么合適了,你應(yīng)該保持命名的一致。這也就是為什么在一些編程語言中,我們使用大寫變量名來代表常量。

對于方法來說,我們也需要保持一致,如下:

function subtractFive(number){

return number - 5;

}

假如你有一個以上的減5方法,那么你假如定義加5方法的話,應(yīng)該使用如下命名體例:

function addFive(number){

return number + 5;

}

有時候假如你定義一個返回方法,那么一般使用getXXX(),假如你只是執(zhí)行操作不返回,那么好好使用doXXX()方法名。

構(gòu)造器方法好好使用類似其它語言的命名體例,首字母大寫,如下:

function Gbin1(color){

this.color = color;

}

不管怎么,你都應(yīng)該盡量的讓你的命名更加富有意義,能夠給別人更多的信息。

在for..in循環(huán)中使用 hasOwnProperty 方法

在javascript中數(shù)組是不關(guān)聯(lián)的。而對象來說是hashtable類型的。你可以使用for 。.. in循環(huán)來迭代對象屬性。如下:

for (var prop in someObject) {

alert(someObject[prop]); // alert‘s value of property

}

但是問題在于,以上代碼會循環(huán)proptype chain中的所有的屬性,有時候這樣會出錯,你可能只想使用現(xiàn)實存在的屬性。使用hasOwnProperty方法可以幫助你解決這個問題。

for (var prop in someObject) {

if (someObject.hasOwnProperty(prop)) {

alert(someObject[prop]); // alert‘s value of property

}

}

這個方法可以幫助你得到現(xiàn)實存在的屬性值。

比較boolean值

比較boolean值特別很是虛耗計算時間。看看下面這個例子:

if (foo == true) {

// do something for true

} else {

// do something for false

}

注重上面的==true條件,這個特別很是沒有需要因為foo自己就是boolean值。假如比較,應(yīng)該使用如下代碼:

if (foo) {

// do something for true

} else {

// do something for false

}

或者測試foo為false,如下:

if (!foo) {

// do something for true

}else {

// do something for false

}

事件綁定

事件在javascript中是特別很是的復(fù)雜的話題。以往我們使用行內(nèi)oncick事件的時代已經(jīng)曩昔了。。

我們應(yīng)該使用事件bubbling或者delegation。

舉個例子,假如我們需要讓一組圖片展示到lightbox window里。那么下面這段代碼你不應(yīng)該使用。

這里我們使用jQuery作為例子。

HTML:

<div id=“grid-container”>

<a href=“someimage.jpg”><img src=“someimage-thumb.jpg”></a>

<a href=“someimage.jpg”><img src=“someimage-thumb.jpg”></a>

<a href=“someimage.jpg”><img src=“someimage-thumb.jpg”></a>

.......

</div>

javascript(不推薦的寫法):

$(‘a’).on(‘click’, function() {

callLightbox(this);

});

這樣書寫會導(dǎo)致綁定事件到每一個鏈接元素,好好綁定到指定的圖片容器,如下:

$(“#grid-container”).on(“click”, “a”, function(event) {

callLightbox(event.target);

});

在線調(diào)試

避免冗余的比較

在javascript和PHP中:

// javascriptreturn foo.toString() !== “” ? true : false;

// php

return (something()) ? true : false;

但是條件比較永遠(yuǎn)返回true或者false,所以你沒有需要清楚的添加返回值。以下代碼即可:

// javascriptreturn foo.toString() !== “”;

// php

return something();

希望大家能夠理解并且了解如何避免代碼書寫中的問題,假如你有其它的例子,請與我們分享!

來源:初學(xué)者應(yīng)該了解的編程陷阱:javascript篇





其他相關(guān)文章
  • 怎么行使百度推廣平臺做推廣
  • 如何注意常見的優(yōu)化細(xì)節(jié)問題
  • SEO優(yōu)化工作
  • 建設(shè)商城類的網(wǎng)站應(yīng)做好五個方面
  • 影響網(wǎng)站收錄的因素具體有哪些
  • 什么是域名過戶




  • 企業(yè)網(wǎng)站后臺使用
    購物網(wǎng)站后臺使用
    網(wǎng)站產(chǎn)品圖片的處理



    農(nóng)業(yè)銀行支付
    建設(shè)銀行支付
    郵政儲蓄銀行支付



    企業(yè)網(wǎng)站建設(shè)
    整站建設(shè)
    購物網(wǎng)站



    企業(yè)網(wǎng)站建設(shè)建議
    注冊適合自己的域名
    什么是虛擬主機




    售前咨詢QQ: 838821345
    售后服務(wù)QQ: 464698733
    應(yīng)急手機:13917498722


    微信掃一掃
    添加24小時微信客服


    郵箱:lang@MENGL.CN
    地址:上海寶山區(qū)城銀路555弄2號樓3樓
    ICP備案:滬ICP備12042844號-3
     滬公網(wǎng)安備:31011402002917號
    做網(wǎng)站 | 企業(yè)網(wǎng)站建設(shè) | 上海做網(wǎng)站 | 企業(yè)網(wǎng)站制作 | 做網(wǎng)站的公司 | 關(guān)于蒙狼 | 整站建設(shè) | 購物網(wǎng)站 | 企業(yè)網(wǎng)絡(luò)營銷 | 成功案例 | 加盟代理 | 在線訂單
    服務(wù)區(qū)域: 臨港新區(qū)做網(wǎng)站 徐匯做網(wǎng)站 閔行做網(wǎng)站 長寧做網(wǎng)站 虹口做網(wǎng)站 黃浦做網(wǎng)站 盧灣做網(wǎng)站 靜安做網(wǎng)站 浦東做網(wǎng)站 楊浦做網(wǎng)站 普陀做網(wǎng)站 閘北做網(wǎng)站 寶山做網(wǎng)站 嘉定做網(wǎng)站 松江做網(wǎng)站 昆山做網(wǎng)站
    Copyright 2012-2025 上海蒙狼網(wǎng)絡(luò)科技有限公司 www.chaojifanwen.com All Rights Reserved
    三区在线视频_99免费观看_2021国产成人午夜精品_亚洲国产一区二区三区精品

            亚洲激情六月丁香| 色呦呦国产精品| 精品精品欲导航| 91麻豆产精品久久久久久 | 91精品国产综合久久久久久久 | 成人一级视频在线观看| 亚洲成a人v欧美综合天堂| 日本一区二区三区电影| 日韩午夜在线观看视频| 美女视频黄免费的久久| 一区二区三区日韩精品| 欧美国产综合色视频| 91久久精品网| 成人精品高清在线| 高清不卡一区二区| 一区二区三区精品| 国产精品高潮呻吟久久| 欧美不卡一区二区三区四区| 欧美日本免费一区二区三区| 日本高清不卡在线观看| 99久久婷婷国产| 99久久99精品久久久久久| 国产精品一区在线观看乱码 | 成人一区二区三区视频 | 亚洲欧美日韩久久精品| 国产欧美一区二区三区沐欲| 精品国产伦一区二区三区观看体验| 欧美日韩成人一区| 精品黑人一区二区三区久久| 亚洲欧美在线另类| 日日摸夜夜添夜夜添国产精品| 国产精品18久久久久| 一本色道久久综合精品竹菊| 欧美疯狂性受xxxxx喷水图片| 欧美本精品男人aⅴ天堂| 国产精品久久看| 日本欧洲一区二区| 国模少妇一区二区三区| 成人高清免费在线播放| 欧美精品乱码久久久久久| 国产调教视频一区| 日韩精品色哟哟| 成人一区二区在线观看| 一本一道综合狠狠老| 精品少妇一区二区三区在线视频| 国产精品天美传媒| 日韩av中文在线观看| 成人一区二区三区视频在线观看 | 久久久精品中文字幕麻豆发布| 综合久久久久综合| 国产在线看一区| 欧美亚洲免费在线一区| 日本一区二区三区在线观看| 偷窥少妇高潮呻吟av久久免费| 粉嫩嫩av羞羞动漫久久久| 欧美一级欧美三级在线观看| 成人免费在线观看入口| 久久精品国产成人一区二区三区| 欧洲av在线精品| 中文字幕国产一区二区| 毛片基地黄久久久久久天堂| 在线视频欧美区| 亚洲欧美自拍偷拍色图| 国产91综合一区在线观看| 欧美不卡一区二区三区四区| 亚洲电影你懂得| 色综合天天综合网天天狠天天| 中文字幕欧美三区| 国产永久精品大片wwwapp | 国产欧美日韩在线看| 裸体健美xxxx欧美裸体表演| 色婷婷综合视频在线观看| 国产精品高潮久久久久无| 国产成+人+日韩+欧美+亚洲 | 国产精品理论在线观看| 国产白丝精品91爽爽久久| 日韩精品一区二区三区中文精品| 日韩中文字幕1| 日本乱码高清不卡字幕| 亚洲欧美激情插| 色综合久久精品| 综合久久久久综合| 99精品国产99久久久久久白柏| xfplay精品久久| 韩国毛片一区二区三区| www日韩大片| 国产99一区视频免费| 日本一区二区综合亚洲| 成人a免费在线看| 中文字幕在线不卡| 91视视频在线观看入口直接观看www | 玖玖九九国产精品| 欧美不卡在线视频| 免费欧美日韩国产三级电影| 欧美日韩高清在线播放| 欧美aaa在线| 26uuu成人网一区二区三区| 国产一区二区三区在线观看免费视频| 久久综合九色综合欧美亚洲| 国产精品77777竹菊影视小说| 国产精品久久久久久久久搜平片 | 欧美午夜精品一区二区蜜桃| 日韩制服丝袜先锋影音| 26uuu另类欧美| 99久久国产综合精品女不卡| 亚洲综合色视频| 日韩视频免费直播| 国产精品一区二区三区四区| 国产精品久久久久久久久果冻传媒| 99久久精品久久久久久清纯| 香蕉av福利精品导航| 久久一区二区三区国产精品| caoporn国产精品| 亚洲bdsm女犯bdsm网站| 国产欧美综合色| 欧美影院午夜播放| 国产乱码精品一区二区三区忘忧草| 国产精品成人免费在线| 91精品国产综合久久久久久漫画| 国产精品影视在线| 亚洲成人免费av| 国产精品拍天天在线| 欧美日韩国产成人在线91| 国产美女在线观看一区| 一区二区成人在线| 国产亚洲一区二区在线观看| 欧美视频三区在线播放| 粉嫩aⅴ一区二区三区四区五区| 亚洲一区二区成人在线观看| 欧美激情综合网| 欧美一区二区三区日韩| 色综合中文字幕国产| 午夜日韩在线电影| 国产精品美女久久久久久久久久久| 欧美精品v国产精品v日韩精品| 成人一区二区三区视频| 麻豆高清免费国产一区| 亚洲一区av在线| 亚洲欧洲一区二区在线播放| 精品国产一二三| 欧美日韩中文字幕一区二区| 成人免费av网站| 精品一区二区免费在线观看| 亚洲成人精品一区| 亚洲免费av网站| 国产精品乱人伦中文| 久久精品夜色噜噜亚洲a∨| 日韩一区二区精品| 欧美高清视频在线高清观看mv色露露十八 | 欧美日韩国产欧美日美国产精品| 99久久综合国产精品| 国产精品影视在线| 看片的网站亚洲| 午夜视频久久久久久| 亚洲人妖av一区二区| 国产亚洲va综合人人澡精品| 欧美一级电影网站| 欧美精品一级二级| 欧美三级日韩三级| 日本韩国视频一区二区| 91女人视频在线观看| 高清不卡一二三区| 成人国产视频在线观看| 成人aa视频在线观看| 成人激情小说乱人伦| 成人午夜免费视频| 丰满岳乱妇一区二区三区| 国产一区二区美女诱惑| 国产尤物一区二区| 国产91富婆露脸刺激对白| 国产91清纯白嫩初高中在线观看| 国产成人啪午夜精品网站男同| 国产麻豆精品在线观看| 国产麻豆日韩欧美久久| 粉嫩av亚洲一区二区图片| 成人高清伦理免费影院在线观看| 国产成人自拍网| 成人性生交大片免费看中文网站| 床上的激情91.| 99精品欧美一区二区蜜桃免费| 9l国产精品久久久久麻豆| av电影一区二区| 91国模大尺度私拍在线视频| 欧美日韩国产综合久久| 日韩美女视频一区二区在线观看| 精品久久久久久久久久久久包黑料| 精品不卡在线视频| 国产精品久久久久精k8| 一区二区不卡在线视频 午夜欧美不卡在| 一区二区理论电影在线观看| 日韩av一级电影| 国产精品一区二区在线播放| 91丨九色丨蝌蚪丨老版| 欧美日韩国产123区| 2024国产精品| 一区二区三区在线看| 精品一区二区综合| 91麻豆文化传媒在线观看| 日韩亚洲欧美一区| 亚洲欧美日韩精品久久久久|