很多用戶不清楚js里面聲明變量的規(guī)則是什么,在使用?var關(guān)鍵字的時(shí)候要聲明變量時(shí)作用域?yàn)楫?dāng)前執(zhí)行上下文,存在變量提升現(xiàn)象,可能導(dǎo)致代碼執(zhí)行順序與聲明順序不一致時(shí)出現(xiàn)錯(cuò)誤。 ?優(yōu)先使用let和const替代var,避免因變量提升導(dǎo)致的錯(cuò)誤。
一、JavaScript 變量聲明規(guī)則
基本聲明方式
使用 var(函數(shù)作用域)、let(塊級(jí)作用域)或 const(塊級(jí)作用域,不可重新賦值)聲明變量。
變量名需以字母、_ 或 $ 開頭,支持大小寫敏感。
未賦值的變量默認(rèn)為 undefined。
javascript1var a; // 函數(shù)作用域,可重復(fù)聲明
2let b = 10; // 塊級(jí)作用域,推薦使用
3const c = []; // 必須初始化,不可重新賦值
注意事項(xiàng)
避免重復(fù)聲明 let/const。
var 存在變量提升,而 let/const 不會(huì)。
優(yōu)先使用 const,除非需要重新賦值。

二、聲明復(fù)合類型變量
復(fù)合類型通過字面量或構(gòu)造函數(shù)聲明,變量存儲(chǔ)的是引用而非值本身。
對(duì)象(Object)
javascript1const person = { name: "Alice", age: 25 }; // 字面量
2const car = new Object(); // 構(gòu)造函數(shù)
3car.brand = "Toyota";
數(shù)組(Array)
javascript1let numbers = [1, 2, 3]; // 字面量
2const emptyArr = new Array(5); // 構(gòu)造函數(shù)(長(zhǎng)度為5)
函數(shù)(Function)
javascript1const greet = function() { console.log("Hello"); }; // 函數(shù)表達(dá)式
2function sum(a, b) { return a + b; } // 函數(shù)聲明
其他復(fù)合類型
javascript1const date = new Date(); // Date 對(duì)象
2const map = new Map(); // Map 集合
關(guān)鍵點(diǎn):
復(fù)合類型變量通過 const 聲明時(shí),仍可修改其內(nèi)部屬性。
比較復(fù)合類型時(shí)比較的是引用,而非內(nèi)容。
JavaScript變量是JavaScript編程語言中用于存儲(chǔ)數(shù)據(jù)值的容器,可保存數(shù)值、文本或表達(dá)式,通過命名標(biāo)識(shí)實(shí)現(xiàn)數(shù)據(jù)引用。以上就是關(guān)于JavaScript 變量聲明規(guī)則的介紹,一起詳細(xì)了解下吧。