精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

那些容易被忽視的JavaScript細節總結

開發 前端
在這之前犀牛書已經翻閱了差不多六七遍,很多內容都已經深深地刻在了腦海里,但時間久了也會忘記些,時而鞏固復習下,畢竟是前端最基礎部分。

《JavaScript 權威指南》這本書從第四版開始,一直到第六版,每個版本我都逐字逐句讀過幾遍,然而每一遍下來的感受卻完全不一樣。上上周的周一,再次翻開了這本犀牛書,這一次我是帶著批判精神和研究精神過來的,所以看的時候也寫下了一些感受和筆記,都是些容易被忽略的點,部分內容犀牛書上不一定有提到。

之前都發在 微博 上,稍微整理了一番,放在這里,方便閱讀。

語句/表達式

換個角度理解語句(statemaents)和表達式(expressions):表達式不會改變程序的運行狀態,而語句會。還有一種叫做表達式語句,可以理解為表達式和語句的交集,如({a:1})"use strict;"等,我覺得沒必要死扣,意義不大。

字符集

ES3 要求 JS 必須實現 Unicode 2.1 及后續版本,而 ES5 只要求支持 Unicode 3 及后續版本。Unicode 字符 2005 年超過了十萬字符,至今仍在不斷增修,***版本是 8.0。

分號

如果你寫 JS 代碼不喜歡帶分號,而又搞不清什么時候必須加分號,可以這么做:在以 “(“、”[“ 、”/“、”+”、”-“ 開頭的語句前面都加上一個分號,如 ;(a + b).toString()

進制

ES5 嚴格模式中禁止使用八進制。目前各種引擎對 JS 的實現是存在差異的,部分支持八進制,部分不支持。八進制被禁止的原因:String 和 Number 之間經常被相互轉換,而以0 開頭的八進制數據特別容易讓人迷惑,也容易讓機器迷惑,比如 09 是該被轉換成 9 還是直接報錯?十六進制不存在這個問題,如 0x98。更多信息參閱 這里

精度

JS 采用 IEEE-754 浮點數表示法,這是一種二進制表示法,由于精度原因 JS 不能表示所有的實數。它能展示的浮點數個數是有限的,比如它不能準確地表示三分之一的數值字面量。這也導致了它在浮點數的計算上存在誤差,如 0.3-0.2 != 0.2-0.1,因為在計算的過程中,存在數據的溢出,丟失了精度。

null/undefined

系統級、出乎意料的或者類似錯誤的值的空缺使用 undefined,而程序級、正常的或意料之中的值的空缺使用 null。平時編程給變量賦值時,不要使用 undefined 而應該用 null。值得注意的是 ES3 中的 undefined 是可以被重新賦值的,ES5 修復了這個 bug。通常我們使用 void 0 來還原/代替 undefined 的值。

eval

eval 是個不好把握的東西,它在 ES3 中更像是 Function,而在 ES5 中更像是一個運算符(嚴格模式下不允許設置別名,否則報錯,且將其作為保留字)。實際上 ES3 中也不允許給 eval 設置別名,然而很多實現卻依然允許,并將其作為全局代碼來執行,瀏覽器尤其是 IE 對它實現相當混亂,沒有什么規律可循,不過 IE 中提供了一個 execScript 函數,類似全局的 eval,這個函數每次執行都會返回 null。

需要使用 eval 的場景并不多,盡量少用,一般需求使用 new Function 就能滿足。

引用

刪除屬性存在的坑:a = {n: {x: 2}}, b = a.n; delete a.n; 這段代碼執行之后,b.x 依然等于 2,原因是 {x:2} 這個對象被 a 和 b 同時引用,delete 指令只刪除了 a 對它的引用,b 上的引用依然存在。這種問題有可能造成內存泄漏。

Object 擴展

Object 的 freeze 方法過于嚴格;defineGetter/lookupGetter 和對應的 Setter 是很好用的屬性。

toLocalString

如圖,你可能還不知道 JavaScript 的 toLocaleString 還可以這么玩。

this語義

this 上下文只存在兩種語義,一種是被當作方法調用,this 指向調用它的對象;一種是作為函數調用,指向 Global 對象(嚴格模式下為 undefined)。它沒有作用域的限制,如下圖所示,a 由于是作為函數被調用,所以它指向的是 window,故而返回 false。

類型

JavaScript 可以被調用執行的均為 Function 類型,但是也存在可調用的 Object,如低版本 IE 中的一些宿主對象:document.getElementById、alert 等,在很多瀏覽器中 typeof RegExp 同樣是 Object。這絕對是一個不標準的實現,在瀏覽器摒棄/修正這些錯誤類型之前應該盡量少依賴它們。

IE8 getter/setter

Object.defineProperty 雖然是 ES5 的東西,早在 IE8 就已經支持了,但支持得并不完善,比如 writable、enumerable、configurable 這些配置項設置就無效,IE8 下主要支持 getter/setter。

JSON.stringify

JSON.stringify 接受三個參數,很多人都知道第三個參數可以設置空白字符來美化輸出,但是你可能不知道第二個參數的作用,它為 {Array|Function} 類型,如果為 Array 則用于過濾 key,如果為 Function 則可以對 value 做處理,如圖所示。

Symbol

ES6 中添加了一種新的數據類型,Symbol,它是一種原始數據類型(圖一),具備對象的特性(圖二),并可以指向同一個引用(圖三),能夠作為對象的 key 但不可枚舉(圖四),內置的 Symbol 會影響程序的執行(圖五),Symbol.iterator 是個舉足輕重的符號,能夠讓元素具備迭代屬性(圖六),花樣很多。

附圖見:http://weibo.com/1812166904/DqMwR8O6z

偽數組添加 Symbol.iterator 的幾個辦法:鴨式辨型的 iterator 函數、yield 函數和直接使用 Array 的遍歷符號。

附圖見:http://weibo.com/1812166904/DqMBYebPw

Set/WeakSet

Set/WeakSet 這種數據結構,不能說沒用,但確實也沒啥大用,前者就是個不允許出現重復成員的數組,順便還帶了點 ES6 的特性,后者雖說可以一定程度上防止內存泄漏,但是也容易出錯,比如某個引用已經被垃圾回收了,再去使用它可能就返回 null。它們都是 ES6 的配套產物。而 Map/WeakMap 倒是兩個非常不錯的設計,常規的 Object 結構都為 String-Val 鍵值對,而它擴展為 AllType-Val,任意類型都可以作為它的 Key,無論是服務端編程還是客戶端編程,這個屬性都帶來了極大的便利性。

正則

理解正則零寬的含義:正則中所謂的零寬斷言,類似于錨點字符,它們匹配指定的位置而不會匹配內容,如 ^ 匹配開頭,$ 匹配結尾,\b 匹配單詞邊界;(?=p) 匹配「接下來的字符與 p 匹配」的位置,(?!p) 匹配「接下來的字符不與 p 匹配」的位置。\b 字符匹配單詞邊界,實際上就是匹配 \w 與 \W 之間的位置(\w 匹配 [a-zA-Z0-9])。很少會有人用到 \B,它匹配的是非單詞邊界位置,簡單理解就是 \w & \w 之間位置或者 \W & \W 之間位置。

持續學習和分享…

內容都是片段化的分享,比較多,也比較雜,就沒有全部列舉出來,感興趣的同學可以 follow 我的 微博,我的想法和筆記都會在上面同步。

感受

在這之前犀牛書已經翻閱了差不多六七遍,很多內容都已經深深地刻在了腦海里,但時間久了也會忘記些,時而鞏固復習下,畢竟是前端最基礎部分。

帶著問題去看書,收獲是完全不一樣的。犀牛書不難啃,難的是你對這些知識點的理解深度。

責任編輯:張燕妮 來源: Barret李靖
相關推薦

2014-04-10 16:33:48

iOS 7新特性

2017-08-15 17:09:31

Linux命令

2012-11-28 15:53:16

災難恢復

2022-11-29 12:11:25

2023-08-04 14:31:43

Python核心項目

2017-11-27 12:08:10

后端服務spring mvc項目

2024-02-29 07:48:55

Python編程語言上下文管理器

2009-11-17 16:14:28

無線路由器

2019-01-18 13:22:10

布線事項網絡

2013-05-31 02:18:47

ASP.NET.Net

2019-08-30 12:01:48

2009-11-09 09:57:39

交換機路由器

2023-11-07 12:25:22

2010-01-28 10:11:18

IT金飯碗

2013-01-22 09:21:28

云計算成本私房云

2013-08-01 13:55:55

Android 4.3新特性

2023-10-24 18:05:00

2013-06-07 08:48:37

Android開發注意事項

2023-08-08 14:28:02

2010-01-22 15:45:57

局域網交換機
點贊
收藏

51CTO技術棧公眾號

国产人伦精品一区二区| 黄色一级片中国| 国产成人无码精品| 韩日精品一区| 成人午夜看片网址| 亚洲欧美日韩在线高清直播| 亚洲一区亚洲二区亚洲三区| 三级网站在线免费观看| av影院在线| 久久精品国产大片免费观看| 亚洲成人免费看| 91精品美女在线| 精品欧美一区二区久久久| 超碰在线99| 成人免费高清在线| 国产精品99久久久久久久久久久久| 久久久无码人妻精品无码| 色的视频在线免费看| 青青草成人在线观看| 亚洲欧美精品一区| 亚洲欧美日韩一二三区| av中文资源在线| 日韩一区精品视频| 亚洲精品自拍偷拍| 无码人妻丰满熟妇区96| 精品美女www爽爽爽视频| 色综合咪咪久久网| 欧美中文字幕一二三区视频| 欧美大香线蕉线伊人久久| 日韩精品乱码久久久久久| 成人黄色av网址| 亚洲午夜在线电影| 国产视频一区二区三区四区| 国产亚洲精品久久久久久打不开| 视频一区在线| 亚洲永久免费av| 国产日本一区二区三区| 一级黄色录像大片| 五月天激情综合网| 91精品久久久久久久99蜜桃 | 97精品在线视频| 无码人妻一区二区三区在线| 2020国产在线| 夜夜嗨av一区二区三区四季av| 亚洲欧美日韩综合一区| 一级久久久久久久| 日本va欧美va欧美va精品| 欧美尤物巨大精品爽| 亚洲码无人客一区二区三区| 欧美高清视频看片在线观看| 色综合视频一区二区三区高清| 欧洲在线视频一区| 国产精品乱码久久久| 综合一区av| 亚洲国产三级网| 亚洲精品高清无码视频| 欧美一区二区三区| 成人免费毛片aaaaa**| 亚洲中国色老太| 99久久精品国产一区二区成人| 亚洲国产裸拍裸体视频在线观看乱了中文| 精品国产乱码久久久久久蜜臀| 男女高潮又爽又黄又无遮挡| 亚洲麻豆精品| 中文字幕亚洲一区二区av在线| 国产精品v欧美精品∨日韩| 天堂网中文字幕| 热久久天天拍国产| 亚洲精品成人久久久| 久久精品无码专区| 麻豆一区二区| 欧美一区中文字幕| 国产麻花豆剧传媒精品mv在线| 久草中文在线观看| 91浏览器在线视频| 亚洲一区二区三区777| av高清一区二区| 视频一区国产视频| 欧美理论电影在线播放| 亚洲精品一区二区三区影院忠贞| 亚州一区二区| 亚洲国产精品视频在线观看| 大地资源二中文在线影视观看 | 黄色片在线看| 国产成人免费网站| 国产福利精品视频| 国产又大又粗又硬| 国产91高潮流白浆在线麻豆| 国产精品久久久久久久美男| 亚洲一区二区91| 国产韩日影视精品| 欧美激情a在线| 国产极品美女在线| 国产探花一区在线观看| 亚洲国产精品系列| 性高潮久久久久久久| 日韩亚洲一区在线| 欧美激情免费视频| 黄色av一区二区| 亚洲免费在线| 久久免费视频在线观看| 国产suv一区二区三区| 在线日韩欧美| 国产精品中文字幕久久久| 一级一片免费看| 国产日韩一区| 久久久久久香蕉网| 久久久久亚洲av无码专区体验| 久久社区一区| 国内久久久精品| 一区二区三区免费在线| av一二三不卡影片| 国产精品视频福利| 丰满熟妇人妻中文字幕| 国产精品99精品久久免费| 久久国产精品 国产精品| 视频污在线观看| 不卡的av网站| 久久久综合香蕉尹人综合网| 黄视频网站在线| 欧美性开放视频| 国产v亚洲v天堂无码久久久| 秋霞影院一区| 色婷婷av一区二区三区久久| 日韩一卡二卡在线观看| 日韩在线精品| 日韩美女毛茸茸| 久久这里只有精品9| 蜜臀久久久久久久| 成人免费在线视频网址| 精品视频三区| 午夜久久久久久久久久一区二区| 777精品久无码人妻蜜桃| 电影一区二区三区久久免费观看| 日韩一区二区三区视频在线| 亚洲图片欧美另类| 亚洲影视一区| 国产欧美在线播放| 性欧美videos另类hd| 国产精品美女久久久久久久| 亚洲区成人777777精品| 人人澡人人添人人爽一区二区| 亚洲一区二区美女| 三级黄色片免费观看| 99久久激情| 国产在线视频不卡| 国产视频在线播放| 欧美日韩成人综合| 天天躁日日躁狠狠躁av麻豆男男| 少妇久久久久| 色偷偷噜噜噜亚洲男人的天堂| 一级黄色在线视频| 久久久综合视频| 爱爱爱视频网站| 182在线视频观看| 亚洲国产精品va在看黑人| 国产又黄又粗视频| 丝袜美腿高跟呻吟高潮一区| 日产国产精品精品a∨| av黄色在线| 色婷婷香蕉在线一区二区| 精品人妻一区二区三区日产乱码卜 | 欧美一区三区四区| www.超碰在线观看| 粉嫩嫩av羞羞动漫久久久| 福利在线一区二区| 怡红院成人在线| 日韩欧美国产高清| 亚洲一区二区三区日韩| 日日夜夜精品免费视频| 午夜精品一区二区三区在线观看| 久草在线资源站资源站| 亚洲白拍色综合图区| 波多野结衣视频网站| 国产福利不卡视频| 欧美激情视频免费看| 国产精品日本一区二区三区在线| 欧美成人午夜激情视频| 亚洲中文无码av在线| 一区免费观看视频| 成人精品小视频| 欧美电影《睫毛膏》| 99久久一区三区四区免费| 最新真实国产在线视频| 欧美午夜xxx| 天天干天天操天天拍| 国产模特精品视频久久久久| 日韩精品一区二区三区丰满| 成人51免费| 8x海外华人永久免费日韩内陆视频 | 亚洲国产第一区| 天天做天天爱综合| 国产99视频精品免费视频36| 欧美一区国产| 亚洲精品中文字幕有码专区| 一级黄在线观看| 欧美日韩免费看| 中文字幕一区二区人妻电影丶| 亚洲国产成人精品女人| 国产一区二区在线播放| 白白色在线观看| 精品国一区二区三区| 丰满少妇高潮久久三区| 久久网站最新地址| 91蝌蚪视频在线| 久久影院亚洲| 无码熟妇人妻av在线电影| 日本在线成人| 国产精品成人品| 二区在线观看| 欧美三级在线看| 91久久久在线| 亚洲综合av一区| 美女扒开腿让男人桶爽久久软| 精品少妇一区二区三区在线播放| 亚洲午夜18毛片在线看| 亚洲品质自拍视频| 欧美精品 - 色网| 国产精品美女久久久| 欧美少妇一级片| 日韩在线精品强乱中文字幕| 国产精品96久久久久久| 草草在线视频| 欧美大片免费观看| 男人和女人做事情在线视频网站免费观看| 日韩电影网在线| 在线观看污污网站| 亚洲成在人线在线播放| 内射一区二区三区| 国产女主播视频一区二区| 特级西西人体4444xxxx| 国产91在线观看| 涩涩网站在线看| 欧美日韩91| 精品国产乱码一区二区三区四区| 成人免费影院| 色哟哟网站入口亚洲精品| 日韩在线免费看| 欧美性猛交xxxx黑人交| 国产免费久久久久| 国产精品欧美一区喷水| 受虐m奴xxx在线观看| 2017欧美狠狠色| 精品人妻一区二区三区日产乱码卜| 国产91丝袜在线观看| 97超碰人人看| 亚洲一区二区三区高清不卡| 成人免费毛片在线观看| 狠狠入ady亚洲精品| 日本不卡二区| 亚洲国产最新| 2020国产精品久久精品不卡| 日本不卡网站| 欧美亚洲日本网站| 亚洲风情在线资源| 久久久国产精品视频| 香港一级纯黄大片| 欧美人妖巨大在线| 一级做a爱片久久毛片| 欧美男女性生活在线直播观看| 欧美成人片在线观看| 亚洲欧美视频一区| 永久看片925tv| 亚洲一区二区精品久久av| 日本五十熟hd丰满| 欧美性猛交xxxx免费看| 精品成人无码久久久久久| 欧美日韩综合一区| 国产普通话bbwbbwbbw| 精品少妇一区二区三区在线播放| 欧性猛交ⅹxxx乱大交| 欧美老人xxxx18| 99久久婷婷国产一区二区三区| 欧美成人一区二区三区| 午夜在线视频免费| 在线丨暗呦小u女国产精品| 天堂在线视频免费观看| 国产视频精品在线| 9色在线视频网站| 欧美成人全部免费| 卡通欧美亚洲| 亚洲在线一区二区| 亚洲精品蜜桃乱晃| 正义之心1992免费观看全集完整版| 综合一区在线| 欧美日韩精品久久| 久久久影院免费| 国产免费黄色小视频| 亚洲精品国产偷自在线观看| 日本人体一区二区| 三级精品在线观看| 亚洲精品乱码久久久久久9色| 久久精品国产亚洲高清剧情介绍 | av网站大全在线| 57pao国产成人免费| 亚洲综合资源| 成人黄色av免费在线观看| www.成人网| 亚洲一区二区三区涩| 亚洲国内自拍| 91aaa精品| 国产午夜精品久久久久久免费视 | 中文字幕第一页久久| 国产精品无码一区二区三区| 最新国产の精品合集bt伙计| 欧美一二三区视频| 日韩一区二区视频| avtt亚洲| 欧洲成人性视频| 亚洲精品日产| 亚洲wwwav| 欧美一站二站| 国产主播在线看| 国产精品一区二区在线播放| 欧美污在线观看| 国产亚洲欧美日韩日本| 天天操天天射天天爽| 欧美一级高清大全免费观看| av网站在线免费观看| 91爱视频在线| 国产欧美一区二区三区米奇| 精品久久精品久久| 午夜欧美精品| 久久6免费视频| 中文字幕精品—区二区四季| www.国产色| 欧美性生交片4| 日本韩国精品一区二区| 亚州欧美日韩中文视频| 一区二区三区四区高清视频| 久久精彩视频| 日韩视频一区| 性生交免费视频| 精品亚洲免费视频| 日本一级大毛片a一| 亚洲视频免费看| 一本色道久久综合亚洲| 欧美一二三四区在线| 欧美尤物美女在线| 国产精品亚洲аv天堂网| 欧美日韩激情| 日韩国产成人无码av毛片| 国产在线精品免费| 欧美无人区码suv| 亚洲成人一区二区| 丰满岳乱妇国产精品一区| 欧美夫妻性视频| 超碰地址久久| 无码av天堂一区二区三区| 成人免费福利片| 日韩人妻无码一区二区三区99| 精品处破学生在线二十三| 波多野结依一区| 久久久久久久久久久久久久久久av | 18禁男女爽爽爽午夜网站免费| 91麻豆国产香蕉久久精品| 天堂中文在线网| 中文字幕九色91在线| 日本一区二区中文字幕| 成人在线视频网址| 精久久久久久| 亚洲77777| 成人国产精品免费观看| 日本在线小视频| 亚洲精品一区久久久久久| 成人在线网站| 成年人黄色在线观看| 粉嫩一区二区三区在线看| 日本韩国欧美中文字幕| 一本色道久久88精品综合| 国产理论电影在线| 精品乱码一区| 日韩成人av影视| 懂色av粉嫩av蜜臀av一区二区三区| 欧美精品电影在线播放| 欧美人体视频xxxxx| 你懂的视频在线一区二区| 欧美午夜影院| 性欧美成人播放77777| 欧美日韩在线一区二区| 亚洲夜夜综合| 91免费看片在线| 尤物网精品视频| 欧美三级视频网站| 日韩欧美国产高清| 日韩大尺度黄色| 欧洲美女和动交zoz0z| 91在线国产福利| 国产一级二级三级视频| 亚洲美女激情视频| crdy在线观看欧美| 干日本少妇首页| 亚洲日本在线天堂| 嫩草精品影院| 国产91精品久久久久| 欧美超碰在线| jizz日本免费| 欧美一区二区三区在线视频| 在线观看欧美日韩电影| 成人在线观看毛片|