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