精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

亚洲码无人客一区二区三区| 欧美日韩福利在线| 中国一级片黄色一级片黄| 日本欧美视频| 欧美日产在线观看| 青少年xxxxx性开放hg| а√天堂资源在线| 香蕉成人久久| 色妞一区二区三区| 视频区 图片区 小说区| 操人在线观看| 中文欧美字幕免费| 91久久国产综合久久蜜月精品| 国产精品第一页在线观看| 国产免费av一区二区三区| 欧美剧在线免费观看网站| 人人妻人人澡人人爽欧美一区双| 青青青手机在线视频观看| 麻豆精品国产91久久久久久| 欧美国产中文字幕| 精品一区二区三孕妇视频| 2020最新国产精品| 欧美亚州韩日在线看免费版国语版| 国产av不卡一区二区| 婷婷五月综合久久中文字幕| 蜜臀av性久久久久蜜臀aⅴ流畅| 另类少妇人与禽zozz0性伦| chinese麻豆新拍video| 国产精品成人国产| 五月婷婷综合在线| 永久免费精品视频网站| 污视频在线免费| 国产在线视频不卡二| 欧美在线不卡区| 深夜福利影院在线观看| 精品视频99| 亚洲国产成人在线视频| 毛片毛片毛片毛| av在线日韩| 午夜久久电影网| 国产盗摄视频在线观看| 北岛玲一区二区三区| eeuss国产一区二区三区| 成人黄色av免费在线观看| 懂色av蜜臀av粉嫩av分享吧最新章节| 欧美日韩四区| 国产一区二区三区丝袜| 538国产视频| 给我免费播放日韩视频| 日韩一级完整毛片| 欧美激情第3页| 成人免费无遮挡| 亚洲国产精品天堂| 亚洲熟妇无码av在线播放| 国产cdts系列另类在线观看| 国产精品久久久久影院色老大| 欧美一区二区视频17c| 亚洲三区在线播放| 91麻豆swag| 欧美国产综合视频| 欧美少妇另类| 久久女同性恋中文字幕| 久久精品magnetxturnbtih| 囯产精品久久久久久| 国产成人免费高清| 国产精品二区三区四区| 亚洲欧美黄色片| 成人深夜视频在线观看| 国产chinese精品一区二区| 亚洲天堂999| 久久国产精品区| 91精品久久久久久久久久另类| 国模私拍一区二区| 理论电影国产精品| 91亚洲国产精品| 国产丰满美女做爰| 国产成人午夜精品5599| 国产另类自拍| 噜噜噜在线观看播放视频| 欧美韩国日本综合| 综合视频在线观看| 中文字幕资源网在线观看| 亚洲一区二区三区四区五区黄| 久久久性生活视频| 性高爱久久久久久久久| 欧美日韩在线观看一区二区| 亚洲日本黄色片| 天堂久久av| 亚洲国产精品一区二区三区| 欧美色图亚洲激情| 99九九热只有国产精品| 欧美大片在线看| 天天综合天天干| 男男成人高潮片免费网站| 成人午夜激情网| 国产18精品乱码免费看| 91免费视频大全| 亚洲欧洲一二三| 久草在线视频福利| 色婷婷综合久久久久中文一区二区| 国产一线二线三线在线观看| 国产精品久久久久久久久久久久久久久 | 亚洲视频在线观看日本a| caopen在线视频| 欧美午夜www高清视频| 亚洲黄色av网址| 日韩欧美高清一区二区三区| 日韩国产精品视频| 国产极品美女在线| 亚洲欧美日本国产专区一区| 成人欧美一区二区三区黑人| 三级av在线| 亚洲免费成人av| 女性隐私黄www网站视频| 麻豆国产一区| 在线观看亚洲视频| 日韩成人免费在线视频| 精品一区中文字幕| 欧美日韩电影一区二区| 日本乱理伦在线| 欧美三级视频在线观看 | 99re在线精品| 成人免费看片视频在线观看| 在线一区av| 精品国产91久久久久久久妲己| 亚洲天堂精品一区| 午夜亚洲性色福利视频| 97久久天天综合色天天综合色hd| 国产精品久久一区二区三区不卡| 亚洲一区在线看| 亚洲午夜激情影院| 凹凸成人精品亚洲精品密奴| 欧美一级电影久久| 欧美一级视频免费| 亚洲精品精品亚洲| 久久黄色片网站| 精品国产视频| 欧美最近摘花xxxx摘花| 人妻夜夜爽天天爽| 夜夜爽夜夜爽精品视频| 精品亚洲视频在线| 欧美激情欧美| 国产噜噜噜噜噜久久久久久久久| 你懂的好爽在线观看| 午夜一区二区三区视频| xxxx视频在线观看| 欧美在线高清| 91久久久久久久| 黄a在线观看| 欧美精品一卡两卡| 91香蕉视频污在线观看| 日本欧美在线看| 欧美一区二区在线| 国产成人精品一区二三区在线观看 | 91精品一区| www.日韩系列| 亚洲系列第一页| 国产精品剧情在线亚洲| 国产成人在线综合| 91精品在线观看国产| 成人久久久久爱| jizzjizz亚洲| 精品三级av在线| 国产精品成人aaaa在线| www.亚洲精品| 91精品91久久久中77777老牛| 欧美激情影院| 国产精品高潮呻吟久久av黑人| 国产黄色在线| 欧美精品久久一区| 欧美另类视频在线观看| 成人在线一区二区三区| 日韩小视频在线播放| 亚洲老女人视频免费| 国产成人亚洲综合| 日韩伦理在线观看| 日韩一级高清毛片| 国产成人无码精品久在线观看| 久久亚洲一级片| 久久撸在线视频| 亚洲最大av| 国产亚洲二区| 成人日韩精品| 久久成人国产精品| 日韩在线观看视频一区| 日本韩国一区二区| 男人av资源站| 国产91露脸合集magnet| 国内外成人免费激情视频| 日韩电影免费网址| 国产高清自拍99| 日韩中文影院| 久久久精品在线观看| 婷婷五月综合久久中文字幕| 欧美日韩亚洲综合在线 | 在线免费不卡电影| 九九热视频精品| 欧美激情一区三区| 欧产日产国产精品98| 久久超级碰视频| 国产精品自拍片| 97国产成人高清在线观看| 久久精品日产第一区二区三区| 亚洲在线资源| 热久久免费视频精品| 羞羞视频在线免费国产| 亚洲人成网站在线播| 精品国产黄色片| 欧美午夜影院一区| 久草手机在线视频| 亚洲一区二区免费视频| 日本不卡一区视频| 久久久久88色偷偷免费| www.四虎精品| 国产在线精品一区二区三区不卡| 亚洲午夜精品久久久久久人妖| 亚洲91久久| 手机成人在线| 色爱综合av| 高清视频一区| 精品国产一区二| 国产精品一区二区三区免费视频| 不卡视频观看| 久久久久久久一区二区三区| 免费av不卡| 中文字幕亚洲无线码a| 免费黄色在线视频网站| 日韩成人在线视频网站| 亚洲欧美黄色片| 日韩精品一区二区三区在线观看| 91精品视频免费在线观看| 色av成人天堂桃色av| 国产农村妇女aaaaa视频| 亚洲国产精品久久不卡毛片| 天天看片中文字幕| 国产精品嫩草99a| 非洲一级黄色片| 国产午夜精品美女毛片视频| 97人妻天天摸天天爽天天| 成人激情免费电影网址| 免费观看黄网站| 国产精品一区二区久久不卡| 日韩成人av免费| 精品一区二区免费看| 在线观看免费不卡av| 精品夜夜嗨av一区二区三区| www.夜夜爽| 精品亚洲成a人| 国产精品久久久久久久99| 激情都市一区二区| 久久久久xxxx| 国产精品资源在线| 国产精品欧美性爱| 成人在线一区二区三区| 老熟妇精品一区二区三区| 97精品久久久久中文字幕| 国产三级视频网站| 久久久久久久综合色一本| 欧美熟妇激情一区二区三区| 欧美国产欧美综合| 国产午夜精品理论片在线| 一区二区三区中文字幕| 精品深夜av无码一区二区老年| 亚洲成人免费视| 91美女免费看| 欧美视频三区在线播放| 国产精品久久久久久久免费| 欧美一区二区三区思思人| 亚洲国产精彩视频| 日韩麻豆第一页| 成人免费在线视频网| www.久久久久久.com| 日韩特级毛片| 日本精品久久电影| 久久久久久久性潮| 成人免费视频观看视频| 色愁久久久久久| 亚洲一区二区三区加勒比| 欧美黄色aaaa| 国内外成人激情视频| 美女任你摸久久| 日本精品一二三区| 久久精品人人做人人综合| 国产真实乱在线更新| 香港成人在线视频| 伊人久久亚洲综合| 亚洲精品一区二区三区影院| 国产大学生校花援交在线播放| 久久精品久久久久久| 1区2区3区在线| 国产精品美女免费看| 91国内精品| 日日夜夜精品网站| 亚洲国产免费看| 杨幂毛片午夜性生毛片 | 国产精品成人观看视频免费| 九色精品91| 韩国无码av片在线观看网站| 久久久久91| 男人的天堂免费| 欧美国产日本韩| 久久久久久久久久影院| 欧美一区二区三区系列电影| 黄视频在线观看免费| 欧美风情在线观看| 久久久加勒比| 欧美激情第六页| 亚洲视频日本| 五月天婷婷影视| 久久久久99精品国产片| 国产无码精品在线观看| 欧美一区二区三区性视频| 成黄免费在线| 日本精品久久久久影院| 精品淫伦v久久水蜜桃| 裸体裸乳免费看| 青娱乐精品视频在线| 中文字幕丰满孑伦无码专区| 一区二区三区久久| 一级日韩一级欧美| 国产一区二区三区在线观看视频 | 老司机aⅴ在线精品导航| 免费看av软件| 美国毛片一区二区| 91网站免费入口| 精品欧美一区二区三区| 精品久久久久久亚洲综合网站| 在线观看欧美日韩| 欧洲精品一区二区三区| 久久久久久久久一区二区| 在线国产欧美| 国产成人av片| 亚洲一区视频在线| 国产视频一二三四区| 最新的欧美黄色| 成人看片毛片免费播放器| 欧美日本韩国国产| 午夜亚洲伦理| 韩国女同性做爰三级| 日韩欧美在线观看视频| 日本一级在线观看| 青草成人免费视频| 少妇精品导航| 国产美女三级视频| 久久精品欧美一区二区三区麻豆 | 色呦呦在线播放| 亚洲伊人一本大道中文字幕| 爽成人777777婷婷| 中文字幕亚洲影院| 亚洲免费视频成人| 国产成人免费看一级大黄| 九色精品美女在线| www.豆豆成人网.com| www精品久久| 91亚洲大成网污www| 免费看污视频的网站| 中文字幕国产亚洲2019| 人人精品久久| 潘金莲一级淫片aaaaa免费看| 国产精品乡下勾搭老头1| 妺妺窝人体色www婷婷| 日韩av在线不卡| 欧美free嫩15| 中国 免费 av| 成人午夜激情影院| 亚洲精品中文字幕乱码三区91| 国产午夜精品美女视频明星a级| 8av国产精品爽爽ⅴa在线观看| 亚洲砖区区免费| 国产高清精品在线| 日本va欧美va国产激情| 亚洲色图av在线| 亚洲青青久久| 超碰成人免费在线| 久久久精品国产99久久精品芒果| 中文字幕二区三区| 久久6免费高清热精品| 欧美日韩直播| 视频在线观看免费高清| 亚洲一二三区在线观看| 黄色大片在线免费观看| 91免费看片网站| 国产欧美综合一区二区三区| 中国美女黄色一级片| 欧美大片顶级少妇| 中文.日本.精品| 无码人妻精品一区二区蜜桃百度| 91污在线观看| 一级黄色免费片| 97香蕉超级碰碰久久免费软件 | 中文字幕久热精品在线视频| 日韩影片在线观看| 日韩毛片在线免费看| 亚洲精品菠萝久久久久久久| 日韩福利一区二区| 成人亚洲激情网| 久久中文欧美| 青青草原在线免费观看| 亚洲视频一区二区三区| 久久国产精品免费一区二区三区|