單例模式:保證一個(gè)類僅有一個(gè)實(shí)例,并提供一個(gè)訪問它的全局訪問點(diǎn)。 在 JavaScript 開發(fā)中氯哮,有一些對(duì)象只需要一個(gè)吝秕。比如單擊登錄按鈕土涝,頁面會(huì)出現(xiàn)登錄對(duì)話框砌梆,并且是唯一的...
1. 編譯原理 傳統(tǒng)的編程語言,在程序運(yùn)行之前都需要進(jìn)行編譯壶熏,主要分為三個(gè)步驟: 第一階段: 分詞/詞法分析(Tokenizing/Lexing)這個(gè)過程會(huì)將由字符組成的字符...
提升 JavaScript 在執(zhí)行之前句柠,會(huì)先進(jìn)行編譯。如下代碼: 當(dāng)執(zhí)行到這段代碼時(shí)棒假,會(huì)進(jìn)行兩次聲明溯职。定義聲明時(shí)在編譯階段進(jìn)行,賦值聲明會(huì)留在原地等待執(zhí)行階段帽哑。實(shí)際代碼執(zhí)行順...
this 是 JavaScript 中一個(gè)比較特殊的關(guān)鍵字谜酒,它的機(jī)制比較復(fù)雜,會(huì)被自動(dòng)定義在函數(shù)的作用域中妻枕,表示函數(shù)執(zhí)行時(shí)的上下文對(duì)象僻族。 如果不存在 this 的話粘驰,在函數(shù)執(zhí)...
本篇文章主要介紹 JavaScript 中幾個(gè)常用的內(nèi)置值類型。 1. 數(shù)組 JavaScript 中鹰贵,數(shù)組可以容納任意類型的值晴氨,可以是 string、number碉输、obje...
JavaScript 的七種內(nèi)置類型: 空值(null) 未定義(undefined) 布爾值(boolean) 數(shù)字(number) 字符串(string) 對(duì)象(obje...
Iterator 迭代器 迭代器(Iterator)接口,為各種不同的數(shù)據(jù)結(jié)構(gòu)提供統(tǒng)一的訪問機(jī)制亭珍。任何數(shù)據(jù)結(jié)構(gòu)只要部署 Iterator 接口敷钾,就可以完成遍歷操作(即依次處理...
語法(grammar) 本篇文章中主要探討 JavaScript 中一些容易讓人產(chǎn)生困惑、誤解的語法肄梨。 1. 語句(statement)和表達(dá)式(expression) 在計(jì)...
類型轉(zhuǎn)換:type casting阻荒,值從一種類型轉(zhuǎn)換為另一種類的操作。 類型轉(zhuǎn)換發(fā)生在靜態(tài)類型語言的編譯階段众羡,而強(qiáng)制類型轉(zhuǎn)換則發(fā)生在動(dòng)態(tài)類型語言的運(yùn)行時(shí)侨赡,在 JavaScri...
將一個(gè) JavaScript 對(duì)象或值轉(zhuǎn)換為 JSON 字符串。如果指定了一個(gè) replacer 函數(shù)粱侣,則可以選擇性地替換值羊壹,或者指定的 replacer 是數(shù)組,則可選擇性...
JSON.parse() 方法用來解析 JSON 字符串齐婴,將字符串解析為 JavaScript 值或?qū)ο笥兔āSON.parse() 接收兩個(gè)參數(shù),第一個(gè)是需要解析的字符串柠偶,第...
JSON 概述 JSON (JavaScript Object Notation) 是一種輕量級(jí)的數(shù)據(jù)交換格式情妖,用來序列化對(duì)象、數(shù)組诱担、數(shù)值毡证、字符串、布爾值和 null蔫仙。 JS...
CSS 引入偽類和偽元素概念是為了格式化文檔樹以外的信息料睛。偽元素和偽類都不會(huì)出現(xiàn)在源文檔或者文檔樹中偽類的操作對(duì)象是文檔樹中已有的元素,而偽元素則創(chuàng)建了一個(gè)文檔數(shù)外的元素匀哄。 ...
1. 長度(length)單位 長度單位主要分為兩種秦效,相對(duì)和絕對(duì)。 相對(duì)長度單位 基于其它元素的長度涎嚼。例如 em 基于該元素的字號(hào)大小阱州,vh 則與設(shè)備視口的高度有關(guān)。 絕對(duì)長...
自定義屬性(CSS 變量或者級(jí)聯(lián)變量)是由 CSS 作者定義的法梯,它包含的值可以在整個(gè)文檔中重復(fù)使用苔货。自定義屬性標(biāo)記設(shè)定值(比如:--main-color: black;)犀概,由...
簡寫屬性是可以同時(shí)設(shè)置好幾個(gè) CSS 屬性值的 CSS 屬性。這樣可以使編寫更簡潔夜惭、更有可讀性姻灶。 1. 簡寫屬性注意情況 1.1 沒有指定的值會(huì)被設(shè)置為初始值 如下樣式,ba...
假定用戶正面向(瀏覽器)視窗或網(wǎng)頁诈茧,而 HTML 元素沿著其相對(duì)于用戶的一條虛構(gòu)的 z 軸排開产喉,層疊上下文就是對(duì)這些 HTML 元素的一個(gè)三維構(gòu)想。HTML 元素基于其元素屬...
BFC(Block Formatting Context)就是頁面上的一個(gè)隔離的獨(dú)立容器敢会,容器里面的子元素不會(huì)影響到外面的元素曾沈。反之也是如此。包括浮動(dòng)鸥昏,和外邊距合并等等塞俱,因此...
包含塊:指元素最近的祖先塊元素(inline-block, block 或 list-item 元素)的內(nèi)容區(qū)。 包含塊的影響 元素的尺寸及位置吏垮,常常會(huì)受它的包含塊所影響障涯。 ...
塊的上外邊距(margin-top)和下外邊距(margin-bottom)有時(shí)合并(折疊)為單個(gè)邊距,其大小為單個(gè)邊距的最大值(或如果它們相等膳汪,則僅為其中一個(gè))唯蝶,這種行為稱...