首頁 web前端 js教程 一起聊聊var、let以及const的差異(程式碼範例)

一起聊聊var、let以及const的差異(程式碼範例)

Jan 06, 2023 pm 04:25 PM
var let const

這篇文章為大家帶來了關於JavaScript的相關知識,其中主要為大家介紹了var、let以及const的區別有哪些,還有ECMAScript 和JavaScript的關係介紹,有興趣的朋友一起來看一下吧,希望對大家有幫助。

一起聊聊var、let以及const的差異(程式碼範例)

什麼是JavaScript?

首先,ECMAScript 和 JavaScript 什麼關係?

  • ECMAScript是一個國際通過的標準化腳本語言。
  • JavaScript由ECMAScript和DOM、BOM三者組成。可以簡單理解為:ECMAScript是JavaScript的語言規範,JavaScript是ECMAScript的實作與擴充。

var、let、const的差別?

1. var宣告變數存在變數提升,let和const不存在變數提升

console.log(a); // undefined  ===>  a已声明还没赋值,默认得到undefined值
console.log(b); // 报错:b is not defined  ===> 找不到b这个变量
console.log(c); // 报错:c is not defined  ===> 找不到c这个变量
var a = 100;	
let b = 10;
const c = 10;
console.log(a);//a=100
登入後複製

2. let和const只能在區塊作用域裡存取

if(1){
    var a = 100;
    let b = 10;
    const c = 1;
}

console.log(a); // 100
console.log(b)  // 报错:b is not defined  ===> 找不到b这个变量
console.log(c)  // 报错:c is not defined  ===> 找不到c这个变量
登入後複製

3. 同一作用域下let和const不能宣告同名變量,而var可以

var a = 100;
console.log(a); //控制台输出 100

var a = 10;
console.log(a); //控制台输出 10

let a = 100;
let a = 10;

//  控制台报错:Identifier 'a' has already been declared  ===> 标识符a已经被声明了。
登入後複製

4. const定義常數,而且不能修改,但是在定義的物件時物件屬性值可以改變

 const a=2
 a=3
 console.log(a)  //控制台报错
登入後複製
const person = {
    name : 'make',
    sex : '男'
}

person.name = 'test'

console.log(person.name)    //运行发现控制台没有报错,且 person.name 被成功修改
登入後複製

#? ? ? ?這是怎麼回事呢?

因為物件是引用型別的,person中保存的僅是物件的指標,而修改物件的屬性不會改變物件的指標,所以這種情況就會修改成功。也就是說const定義的引用型只要指標不改變,都是被允許的。

接下來我們試著修改指針,讓person指向一個新對象,最後果然報錯

const person = {
  name : 'make',
  sex : '男'}person = {
  name : 'test',
  sex : '男'}console.log(person.name)  //控制台报错
登入後複製

5. 小結

  • var定義的變數變數提升,沒有區塊的概念,可以跨區塊訪問

  • let定義的變數只能在區塊作用域存取,不能宣告同名變數。

  • const用來定義常數,使用時必須初始化(即必須賦值),不能宣告同名變量,只能在區塊作用域裡存取,而且不能修改,但是在定義的物件時物件屬性值可以改變。

  • 他們都無法跨函數存取

#推薦學習:《JavaScript影片教學

以上是一起聊聊var、let以及const的差異(程式碼範例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
威爾R.E.P.O.有交叉遊戲嗎?
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

深入理解C語言中的const 深入理解C語言中的const Feb 18, 2024 pm 12:56 PM

C中const的詳解及程式碼範例在C語言中,const關鍵字用來定義常數,表示該變數的值在程式執行過程中不能被修改。 const關鍵字可以用來修飾變數、函數參數、函數傳回值。本文將對C語言中const關鍵字的使用進行詳細解析,並提供具體的程式碼範例。 const修飾變數當const用來修飾變數時,表示變數為唯讀變量,一旦賦值就無法再修改。例如:constint

一起聊聊var、let以及const的差異(程式碼範例) 一起聊聊var、let以及const的差異(程式碼範例) Jan 06, 2023 pm 04:25 PM

這篇文章為大家帶來了關於JavaScript的相關知識,其中主要為大家介紹了var、let以及const的區別有哪些,還有ECMAScript 和JavaScript的關係介紹,有興趣的朋友一起來看一下吧,希望對大家有幫助。

c語言const怎麼用 c語言const怎麼用 Sep 20, 2023 pm 01:34 PM

const是關鍵字,可以用來宣告常數、函數參數中的const修飾符、const修飾函數傳回值、const修飾指標。詳細介紹:1、聲明常數,const關鍵字可用於聲明常數,常數的值在程式運作期間不可修改,常數可以是基本資料類型,如整數、浮點數、字元等,也可是自訂的資料型別; 2.函數參數中的const修飾符,const關鍵字可用於函數的參數中,表示該參數在函數內部不可修改等等。

在 Windows 11 上修復音訊服務無回應問題的 18 種方法 在 Windows 11 上修復音訊服務無回應問題的 18 種方法 Jun 05, 2023 pm 10:23 PM

音訊輸出和輸入需要特定的驅動程式和服務才能在Windows11上按預期工作。這些有時最終會在後台遇到錯誤,從而導致音訊問題,如無音訊輸出、缺少音訊設備、音訊失真等。如何修復在Windows11上沒有回應的音訊服務我們建議您從下面提到的修復開始,並逐步完成列表,直到您設法解決您的問題。由於Windows11上的多種原因,音訊服務可能無法回應。此清單將幫助您驗證和修復阻止音訊服務在Windows11上回應的大多數問題。請按照以下相關部分幫助您完成流程。方法一:重啟音訊服務您可能會遇

C++ 函式const關鍵字的正確用法有哪些? C++ 函式const關鍵字的正確用法有哪些? Apr 11, 2024 pm 02:36 PM

C++中const關鍵字的正確用法:使用const修飾函數,表示函數不會修改傳入的參數或類別成員。使用const宣告函數指針,表示該指針指向常數函數。

PHP中var關鍵字的作用與範例 PHP中var關鍵字的作用與範例 Jun 28, 2023 pm 08:58 PM

PHP中var關鍵字的作用和範例在PHP中,var關鍵字用來聲明一個變數。在先前的PHP版本中,使用var關鍵字是宣告成員變數的慣用方式,現在不再建議使用。然而,在某些情況下,var關鍵字依然會被使用。 var關鍵字主要用於宣告一個局部變量,並且會自動將該變數標記為局部作用域。這意味著該變數僅在當前的程式碼區塊中可見,並且不能在其他函數或程式碼區塊中存取。使用var

C++語法錯誤:必須在定義時初始化const對象,改怎麼處理? C++語法錯誤:必須在定義時初始化const對象,改怎麼處理? Aug 22, 2023 am 09:13 AM

對C++程式設計師來說,語法錯誤是極為常見的問題之一。其中一個常見錯誤是必須在定義時初始化const物件。如果你遇到了這種情況,該怎麼處理呢?首先,我們要了解什麼是const物件。 const關鍵字是C++中的一種特殊型別限定符,用來指定變數的值無法在程式的執行期間被改變。這種變數稱為「常量」。如果在定義const物件時沒有初始化它,你將會遇到上述錯誤。這是

let、var和const的區別與特點:它們分別代表什麼意義? let、var和const的區別與特點:它們分別代表什麼意義? Feb 23, 2024 pm 12:36 PM

let、var和const的區別與特點:它們分別代表什麼意義?在JavaScript中,let、var和const是用於宣告變數的關鍵字。它們各自有不同的差異和特徵。 let:let關鍵字是ES6引入的,它允許我們宣告一個區塊級作用域的變數。區塊級作用域是指變數只在宣告的區塊中可見,而不會被提升至函數作用域。範例程式碼:functionexampleFunctio

See all articles