最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript中const和var的區(qū)別小結

 更新時間:2025年10月11日 08:23:51   作者:Never_Satisfied  
本文主要介紹了JavaScript中const和var的區(qū)別小結,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

在JavaScript中,constvar是兩種不同的變量聲明方式,它們有以下主要區(qū)別:

1. 作用域 (Scope)

var - 函數作用域

function test() {
    if (true) {
        var x = 10;
    }
    console.log(x); // 10 - 在if塊外部可以訪問
}

const - 塊級作用域

function test() {
    if (true) {
        const y = 20;
    }
    console.log(y); // ReferenceError: y is not defined
}

2. 變量提升 (Hoisting)

var - 會提升,初始值為undefined

console.log(a); // undefined
var a = 5;

const - 會提升,但在聲明前訪問會報錯(暫時性死區(qū))

console.log(b); // ReferenceError: Cannot access 'b' before initialization
const b = 10;

3. 重復聲明

var - 允許重復聲明

var x = 1;
var x = 2; // 不會報錯

const - 不允許重復聲明

const y = 1;
const y = 2; // SyntaxError: Identifier 'y' has already been declared

4. 重新賦值

var - 可以重新賦值

var name = "Alice";
name = "Bob"; // 允許

const - 不能重新賦值(常量)

const name = "Alice";
name = "Bob"; // TypeError: Assignment to constant variable

5. 必須初始化

var - 可以不初始化

var x; // undefined

const - 必須初始化

const y; // SyntaxError: Missing initializer in const declaration

6. 全局對象屬性

var - 在全局作用域聲明時成為window對象的屬性

var globalVar = "hello";
console.log(window.globalVar); // "hello"

const - 不會成為window對象的屬性

const globalConst = "world";
console.log(window.globalConst); // undefined

重要注意事項

對于const聲明的對象和數組:

const person = { name: "Alice" };
person.name = "Bob"; // 允許 - 修改對象屬性
// person = { name: "Charlie" }; // 錯誤 - 不能重新賦值

const numbers = [1, 2, 3];
numbers.push(4); // 允許 - 修改數組內容
// numbers = [5, 6, 7]; // 錯誤 - 不能重新賦值

現代開發(fā)建議

  • 優(yōu)先使用 const
  • 需要重新賦值時使用 let
  • 避免使用 var(除非有特殊需求)
// 推薦寫法
const PI = 3.14159;
let count = 0;

// 不推薦
var oldWay = "avoid this";

這種模式有助于編寫更可預測、更少錯誤的代碼。

到此這篇關于JavaScript中const和var的區(qū)別小結的文章就介紹到這了,更多相關JavaScript const var內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • javaScript年份下拉列表框內容為當前年份及前后50年

    javaScript年份下拉列表框內容為當前年份及前后50年

    本文介紹的這個javaScript年份下拉列表框內容為當前年份及前后50年,默認顯示當前年份,大家可以學習下
    2014-05-05
  • 淺析JS原始值和引用值問題

    淺析JS原始值和引用值問題

    如果一個值是引用類型的,那么它的存儲空間將從堆中分配。由于引用值的大小會改變,所以不能把它放在棧中,否則會降低變量查尋的速度。相反,放在變量的??臻g中的值是該對象存儲在堆中的地址,這篇文章主要介紹了JS原始值和引用值 ,需要的朋友可以參考下
    2021-12-12
  • javascript 發(fā)布-訂閱模式 實例詳解

    javascript 發(fā)布-訂閱模式 實例詳解

    這篇文章主要介紹了javascript 發(fā)布-訂閱模式,結合實例形式詳細分析了javascript發(fā)布-訂閱模式基本功能、原理、實現方法與相關使用技巧,需要的朋友可以參考下
    2023-06-06
  • 利用javascript實現的三種圖片放大鏡效果實例(附源碼)

    利用javascript實現的三種圖片放大鏡效果實例(附源碼)

    這篇文章主要介紹了利用javascript實現的幾種放大鏡效果,很實用一款漂亮的js圖片放大鏡特效,常見于電商網站上產品頁,用來放大展示圖片細節(jié),很有實用性,推薦下載學習研究。文中提供了完整的源碼供大家下載,需要的朋友可以參考借鑒,一起來看看吧。
    2017-01-01
  • javascript實現圖片輪播代碼

    javascript實現圖片輪播代碼

    這篇文章主要為大家詳細介紹了javascript實現圖片輪播代碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • js實現mp3錄音通過websocket實時傳送+簡易波形圖效果

    js實現mp3錄音通過websocket實時傳送+簡易波形圖效果

    這篇文章主要介紹了js實現mp3錄音通過websocket實時傳送+簡易波形圖效果,本文通過實例代碼給大家介紹的非常詳細對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-06-06
  • 微信小程序實現指定顯示行數多余文字去掉用省略號代替

    微信小程序實現指定顯示行數多余文字去掉用省略號代替

    這篇文章主要介紹了微信小程序實現指定顯示行數多余文字去掉用省略號代替的方法,需要的朋友可以參考下
    2018-07-07
  • javascript解三階幻方(九宮格)

    javascript解三階幻方(九宮格)

    本文給大家分享的是使用javascript實現解答九宮格問題的算法,非常的簡單實用,有需要的小伙伴可以參考下。
    2015-04-04
  • 帶你領略Object.assign()方法的操作方式

    帶你領略Object.assign()方法的操作方式

    這篇文章主要介紹了帶你領略Object.assign()方法的操作方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • 推薦15個最好用的JavaScript代碼壓縮工具

    推薦15個最好用的JavaScript代碼壓縮工具

    今天小編就為大家分享一篇關于推薦15個最好用的JavaScript代碼壓縮工具,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-02-02

最新評論

青铜峡市| 焦作市| 山东省| 兰州市| 新河县| 秭归县| 雅江县| 宜君县| 定南县| 平舆县| 平舆县| 神池县| 宜君县| 宁海县| 任丘市| 深泽县| 定安县| 合山市| 舞钢市| 荃湾区| 兰考县| 万州区| 射阳县| 长武县| 屯留县| 会东县| 海兴县| 卢龙县| 潜江市| 色达县| 陆河县| 万源市| 司法| 衡南县| 丽江市| 玉环县| 林州市| 太仓市| 昔阳县| 元阳县| 延吉市|