摘要:模式的讀書(shū)筆記,個(gè)人向更新進(jìn)度隨我的閱讀進(jìn)度基本技巧盡量少用全局變量防止變量污染注意變量提升問(wèn)題盡量使用單一模式,只使用一個(gè)在函數(shù)頂部進(jìn)行變量聲明函數(shù)體循環(huán)優(yōu)化循環(huán)條件優(yōu)化對(duì)進(jìn)行操作上面那種循環(huán),將作為循環(huán)條件,每次循環(huán)時(shí)都要訪問(wèn)數(shù)據(jù)的長(zhǎng)度
《JavaScript模式》的讀書(shū)筆記,個(gè)人向!
更新進(jìn)度隨我的閱讀進(jìn)度
防止變量污染
注意JS變量提升問(wèn)題
盡量使用單一var模式,只使用一個(gè)var在函數(shù)頂部進(jìn)行變量聲明
function fun () { var a =1, b=2, sum = a+b, 函數(shù)體// }for循環(huán)優(yōu)化
循環(huán)條件優(yōu)化
for(var i=0; i上面那種循環(huán),將marry.length作為循環(huán)條件,每次循環(huán)時(shí)都要訪問(wèn)數(shù)據(jù)的長(zhǎng)度,會(huì)使代碼變慢,尤其是當(dāng)條件為HTML容器對(duì)象時(shí),每次循環(huán)都回去訪問(wèn)DOM,而DOM查詢操作是非常慢的,優(yōu)化方法就是將已循環(huán)過(guò)的條件緩存起來(lái)
//這種方式,對(duì)長(zhǎng)度只提取一次 for(var i=0, max=myarry.length; i2、用i++替代 i=i+1, i+=1
這樣替代的好處是1、使用了最少的變量 2、逐步減至0因?yàn)楦?比較比跟數(shù)組長(zhǎng)度比較更有效率
優(yōu)化代碼var myarr=[], i=myarr.length while(i--){ //操作 }for-in循環(huán)推薦使用,for循環(huán)來(lái)遍歷數(shù)組,用for-in循環(huán)來(lái)遍歷對(duì)象
hasOwnProperty()過(guò)濾原型鏈屬性
var man = { hands:2, legs:2, head:1 }, i=0 Object.prototype.clone="zhang" for(i in man){ if(man.hasOwnProperty(i)){ console.log(i,":",man[i]); } } //這樣子就在循環(huán)的時(shí)候過(guò)濾掉了繼承屬性了hasOwnProperty(),并不常用,當(dāng)確認(rèn)不了對(duì)象的內(nèi)容時(shí)可以用上它進(jìn)行安全檢查
switch模式switch(n) { case 1: 執(zhí)行代碼塊 1 break; case 2: 執(zhí)行代碼塊 2 break; default: result = "unknow" }保持縮進(jìn)整齊
每個(gè)case語(yǔ)句結(jié)尾有一個(gè)break語(yǔ)句
用default作為switch的結(jié)尾,當(dāng)所有case不匹配時(shí)給出一個(gè)默認(rèn)結(jié)尾
不要增加內(nèi)置的原型盡量不要對(duì)內(nèi)置構(gòu)造函數(shù)(Object(),Array()等)增加原型
避免使用隱式類型轉(zhuǎn)換JS中在使用比較語(yǔ)句時(shí)會(huì)進(jìn)行隱式類型轉(zhuǎn)換,別如‘false==0’會(huì)返回true
parseInt()
在使用比較語(yǔ)句的時(shí)候使用"==="和"!==="來(lái)進(jìn)行比較parseInt()第二個(gè)參數(shù)是進(jìn)制參數(shù),通??梢允÷裕詈貌灰÷?,因?yàn)樵摵瘮?shù)在解析0開(kāi)頭的字符串的時(shí)候會(huì)按8進(jìn)制來(lái)解析
var year="09"; year=parseInt(year,10) // return 9 // parseInt(year)返回值是0 //如果是純數(shù)字字符串,可以用下面兩種方法轉(zhuǎn)換 +"08" //結(jié)果是8 Number("08") //結(jié)果是8 // 如果不是純數(shù)字字符串,只能用paeseInt()來(lái)解析,其它方法都將反回NAN用注釋生成API文檔JS有兩個(gè)開(kāi)源的工具來(lái)用注釋生成API文檔,分別是JSDoc Toolkit和YUIDoc
根據(jù)這兩工具所規(guī)定的格式來(lái)寫(xiě)注釋代碼,就能夠生成API文檔
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/108397.html
摘要:如果為假值,不傳或者傳入,函數(shù)都會(huì)返回但是,傳入這個(gè)值是完全有可能的,所以這種判斷形勢(shì)是不正確的或者使用來(lái)判斷也可以原始類型優(yōu)于封裝類型對(duì)象擁有六個(gè)原始值基本類型布爾值,數(shù)字,字符串,,和對(duì)象。 作為一個(gè)前端新人,多讀書(shū)讀好書(shū),夯實(shí)基礎(chǔ)是十分重要的,正如蓋樓房一樣,底層穩(wěn)固了,才能越壘越高。從開(kāi)始學(xué)習(xí)到現(xiàn)在,基礎(chǔ)的讀了紅寶書(shū)《JavaScript高級(jí)程序設(shè)計(jì)》,犀牛書(shū)《JavaScri...
摘要:創(chuàng)建對(duì)象中,創(chuàng)建對(duì)象的基本模式有三種。因此,在設(shè)計(jì)構(gòu)造函數(shù)時(shí),需要進(jìn)行慎重考慮。因此在中,這種問(wèn)題被稱作繼承破壞封裝。靜態(tài)成員每個(gè)只有一份,直接通過(guò)類對(duì)象進(jìn)行訪問(wèn)。 什么是封裝 找工作時(shí)一些公司給了offer后我就想知道真正拿到手的是多少,畢竟賦稅繁重。但各種稅也好,五險(xiǎn)一金也好我實(shí)在是弄不清楚,于是我就會(huì)在網(wǎng)上的一些稅后收入計(jì)算器上進(jìn)行計(jì)算,只需要填寫(xiě)一些基本信息,比如稅前收入,所...
摘要:設(shè)計(jì)模式與開(kāi)發(fā)實(shí)踐讀書(shū)筆記最近利用碎片時(shí)間在上面閱讀設(shè)計(jì)模式與開(kāi)發(fā)實(shí)踐讀書(shū)這本書(shū),剛開(kāi)始閱讀前兩章內(nèi)容,和大家分享下我覺(jué)得可以在項(xiàng)目中用的上的一些筆記。事件綁定暫時(shí)這么多,以后會(huì)不定期更新一些關(guān)于我讀這本書(shū)的筆記內(nèi)容 JavaScript 設(shè)計(jì)模式與開(kāi)發(fā)實(shí)踐讀書(shū)筆記 最近利用碎片時(shí)間在 Kindle 上面閱讀《JavaScript 設(shè)計(jì)模式與開(kāi)發(fā)實(shí)踐讀書(shū)》這本書(shū),剛開(kāi)始閱讀前兩章內(nèi)容,...
摘要:繼承的是超類型中構(gòu)造函數(shù)中的屬性,如上繼承了屬性,但沒(méi)有繼承原型中的方法。上述造成的結(jié)果是子類型實(shí)例中有兩組超類型的構(gòu)造函數(shù)中定義的屬性,一組在子類型的實(shí)例中,一組在子類型實(shí)例的原型中。 ECMAScript只支持實(shí)現(xiàn)繼承,主要依靠原型鏈來(lái)實(shí)現(xiàn)。與實(shí)現(xiàn)繼承對(duì)應(yīng)的是接口繼承,由于script中函數(shù)沒(méi)有簽名,所以無(wú)法實(shí)現(xiàn)接口繼承。 一、原型鏈 基本思想:利用原型讓一個(gè)引用類型繼承另一個(gè)引用...
摘要:語(yǔ)言精粹讀書(shū)筆記第四章函數(shù)函數(shù)字面量函數(shù)字面量包含個(gè)部分第一部分,保留字第二部分,函數(shù)名,它可以被忽略。這個(gè)超級(jí)延遲綁定使得函數(shù)對(duì)高度復(fù)用。構(gòu)造器調(diào)用模式一個(gè)函數(shù),如果創(chuàng)建的目的就是希望結(jié)合的前綴來(lái)調(diào)用,那它就被稱為構(gòu)造器構(gòu)造。 《JavaScript 語(yǔ)言精粹》 讀書(shū)筆記 第四章 函數(shù) Functions 函數(shù)字面量 函數(shù)字面量包含4個(gè)部分: 第一部分, 保留字 function...
閱讀 2913·2023-04-25 20:06
閱讀 1533·2021-08-26 14:15
閱讀 2297·2021-08-12 13:27
閱讀 1845·2019-08-30 15:55
閱讀 3530·2019-08-30 13:20
閱讀 2892·2019-08-29 15:12
閱讀 3391·2019-08-29 15:06
閱讀 2927·2019-08-29 14:13