單例模式:保證一個類僅有一個實例,并提供一個訪問它的全局訪問點。 在 JavaScript 開發(fā)中,有一些對象只需要一個。比如單擊登錄按鈕,頁面會出現(xiàn)登錄對話框,并且是唯一的...
1. 編譯原理 傳統(tǒng)的編程語言,在程序運行之前都需要進行編譯,主要分為三個步驟: 第一階段: 分詞/詞法分析(Tokenizing/Lexing)這個過程會將由字符組成的字符...
提升 JavaScript 在執(zhí)行之前,會先進行編譯。如下代碼: 當執(zhí)行到這段代碼時,會進行兩次聲明。定義聲明時在編譯階段進行,賦值聲明會留在原地等待執(zhí)行階段。實際代碼執(zhí)行順...
this 是 JavaScript 中一個比較特殊的關鍵字,它的機制比較復雜,會被自動定義在函數(shù)的作用域中,表示函數(shù)執(zhí)行時的上下文對象。 如果不存在 this 的話,在函數(shù)執(zhí)...
本篇文章主要介紹 JavaScript 中幾個常用的內(nèi)置值類型。 1. 數(shù)組 JavaScript 中,數(shù)組可以容納任意類型的值,可以是 string、number、obje...
JavaScript 的七種內(nèi)置類型: 空值(null) 未定義(undefined) 布爾值(boolean) 數(shù)字(number) 字符串(string) 對象(obje...
Iterator 迭代器 迭代器(Iterator)接口,為各種不同的數(shù)據(jù)結(jié)構(gòu)提供統(tǒng)一的訪問機制。任何數(shù)據(jù)結(jié)構(gòu)只要部署 Iterator 接口,就可以完成遍歷操作(即依次處理...
語法(grammar) 本篇文章中主要探討 JavaScript 中一些容易讓人產(chǎn)生困惑、誤解的語法。 1. 語句(statement)和表達式(expression) 在計...
類型轉(zhuǎn)換:type casting,值從一種類型轉(zhuǎn)換為另一種類的操作。 類型轉(zhuǎn)換發(fā)生在靜態(tài)類型語言的編譯階段,而強制類型轉(zhuǎn)換則發(fā)生在動態(tài)類型語言的運行時,在 JavaScri...
將一個 JavaScript 對象或值轉(zhuǎn)換為 JSON 字符串。如果指定了一個 replacer 函數(shù),則可以選擇性地替換值,或者指定的 replacer 是數(shù)組,則可選擇性...
JSON.parse() 方法用來解析 JSON 字符串,將字符串解析為 JavaScript 值或?qū)ο蟆SON.parse() 接收兩個參數(shù),第一個是需要解析的字符串,第...
JSON 概述 JSON (JavaScript Object Notation) 是一種輕量級的數(shù)據(jù)交換格式,用來序列化對象、數(shù)組、數(shù)值、字符串、布爾值和 null。 JS...
CSS 引入偽類和偽元素概念是為了格式化文檔樹以外的信息。偽元素和偽類都不會出現(xiàn)在源文檔或者文檔樹中偽類的操作對象是文檔樹中已有的元素,而偽元素則創(chuàng)建了一個文檔數(shù)外的元素。 ...
1. 長度(length)單位 長度單位主要分為兩種,相對和絕對。 相對長度單位 基于其它元素的長度。例如 em 基于該元素的字號大小,vh 則與設備視口的高度有關。 絕對長...
自定義屬性(CSS 變量或者級聯(lián)變量)是由 CSS 作者定義的,它包含的值可以在整個文檔中重復使用。自定義屬性標記設定值(比如:--main-color: black;),由...
簡寫屬性是可以同時設置好幾個 CSS 屬性值的 CSS 屬性。這樣可以使編寫更簡潔、更有可讀性。 1. 簡寫屬性注意情況 1.1 沒有指定的值會被設置為初始值 如下樣式,ba...
假定用戶正面向(瀏覽器)視窗或網(wǎng)頁,而 HTML 元素沿著其相對于用戶的一條虛構(gòu)的 z 軸排開,層疊上下文就是對這些 HTML 元素的一個三維構(gòu)想。HTML 元素基于其元素屬...
BFC(Block Formatting Context)就是頁面上的一個隔離的獨立容器,容器里面的子元素不會影響到外面的元素。反之也是如此。包括浮動,和外邊距合并等等,因此...
包含塊:指元素最近的祖先塊元素(inline-block, block 或 list-item 元素)的內(nèi)容區(qū)。 包含塊的影響 元素的尺寸及位置,常常會受它的包含塊所影響。 ...
塊的上外邊距(margin-top)和下外邊距(margin-bottom)有時合并(折疊)為單個邊距,其大小為單個邊距的最大值(或如果它們相等,則僅為其中一個),這種行為稱...