什么是 yield? yield 關(guān)鍵字只能在生成器函數(shù)中使用。生成器函數(shù)是一種特殊的函數(shù),使用 function* 聲明。當生成器函數(shù)執(zhí)行到 yield 表達式時,它會暫停...
什么是 yield? yield 關(guān)鍵字只能在生成器函數(shù)中使用。生成器函數(shù)是一種特殊的函數(shù),使用 function* 聲明。當生成器函數(shù)執(zhí)行到 yield 表達式時,它會暫停...
什么是 instanceof? instanceof 運算符用于檢測構(gòu)造函數(shù)的 prototype 屬性是否出現(xiàn)在對象的原型鏈中的任何位置。簡單來說,它判斷一個對象是否是某個...
一、什么是 Class? 類是構(gòu)造對象的藍圖,它定義了對象的屬性和方法。在JavaScript中,類是通過class關(guān)鍵字來定義的,它的本質(zhì)是一種語法糖,仍然是基于原型鏈的,...
一、基礎(chǔ)語法與核心差異 1. setTimeout:單次延遲執(zhí)行 ? 功能:在指定延遲(毫秒)后執(zhí)行一次回調(diào)函數(shù)。? 取消方法:clearTimeout(timerId)。 ...
一、什么是 new Function()? new Function() 是 JavaScript 內(nèi)置的構(gòu)造函數(shù),用于創(chuàng)建一個新的函數(shù)對象。它的語法如下: arg1, ar...
一、為什么函數(shù)綁定是JavaScript開發(fā)的必修課? 在JavaScript中,函數(shù)綁定的本質(zhì)是控制函數(shù)執(zhí)行時this的指向。由于JavaScript的動態(tài)綁定特性,thi...
一、函數(shù)對象:不僅僅是代碼塊 在 JavaScript 中,函數(shù)對象繼承自 Object,因此它們擁有所有對象的特性。這意味著: 函數(shù)可以擁有屬性: 你可以像給普通對象添加屬...
一、Spread語法是什么? Spread語法(擴展語法)是JavaScript中由三個點...表示的語法糖,核心功能是將可迭代對象(如數(shù)組、字符串、對象等)展開為獨立的元素...
一、Rest參數(shù)核心語法與特性 1. 基礎(chǔ)定義規(guī)則 ? 必須末位聲明:Rest參數(shù)必須是最后一個形參,否則觸發(fā)SyntaxError ? 自動數(shù)組轉(zhuǎn)換:未匹配的剩余參數(shù)自動...
一、JSON的核心方法:數(shù)據(jù)轉(zhuǎn)換的“雙刃劍” JSON.parse() 方法接受一個 JSON 字符串作為參數(shù),并返回一個對應的 JavaScript 對象。語法: text...
一、什么是 WeakMap 和 WeakSet? 簡單來說,WeakMap 和 WeakSet 都是基于弱引用的數(shù)據(jù)結(jié)構(gòu)。這意味著,如果一個對象只被 WeakMap 或 We...
一、構(gòu)造器的本質(zhì)與設(shè)計哲學 在JavaScript中,構(gòu)造器本質(zhì)上是普通函數(shù),但遵循兩大核心約定: 命名首字母大寫(如User) 必須通過new操作符調(diào)用。 這種設(shè)計源于面向...
一、Set:值唯一性的保證 Set 對象類似于數(shù)組,但它只存儲唯一的值。這意味著,即使你多次添加相同的值,Set 中也只會保留一個。這使得 Set 非常適合用于去重、判斷元素...
一、基礎(chǔ)語法:從“小白”到“熟練工”的必經(jīng)之路 數(shù)組解構(gòu):一鍵拆箱,告別索引地獄const [lat, long] = [40.7128, -74.0060]; // 經(jīng)緯度...
一、什么是可迭代對象? 可迭代對象(Iterable Object)是JavaScript中一種特殊的對象,它實現(xiàn)了迭代協(xié)議(Iteration Protocol),允許通過...
一、為什么需要可選鏈 ?. 在JavaScript中,訪問深層嵌套對象屬性時,開發(fā)者常常面臨“中間屬性不存在”的崩潰風險。例如: 傳統(tǒng)解決方案需要逐層判斷(如user.add...
一、什么是 Async/Await? async/await 是建立在 Promise 之上的語法糖。它允許我們以同步的方式編寫異步代碼,使代碼更易于閱讀和維護。 async...
一、什么是getter和setter? 在JavaScript中,getter和setter是特殊的屬性存取器(accessor properties),允許開發(fā)者通過函數(shù)控...
一、為什么需要call和apply? 在JavaScript中,函數(shù)執(zhí)行時的上下文(即this的值)默認由調(diào)用方式?jīng)Q定。但實際開發(fā)中,我們常需要動態(tài)改變函數(shù)的執(zhí)行環(huán)境,例如讓...