欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

JS中var、let和const是什么

這篇文章主要介紹了JS中var、let和const是什么,具有一定借鑒價(jià)值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

創(chuàng)新互聯(lián)公司專注于洛南網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供洛南營(yíng)銷型網(wǎng)站建設(shè),洛南網(wǎng)站制作、洛南網(wǎng)頁設(shè)計(jì)、洛南網(wǎng)站官網(wǎng)定制、小程序開發(fā)服務(wù),打造洛南網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供洛南網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。

var

var 語句用來在 JavaScript 中聲明一個(gè)變量,該變量遵守以下規(guī)則:

  • 作用域范圍是函數(shù)作用域或全局作用域的。
  • 不受暫存死區(qū)(TDZ)的限制。
  • 它會(huì)在 window 上以相同的名稱創(chuàng)建一個(gè)全局屬性。
  • 可分配的。
  • 可聲明的。

函數(shù)作用域和全局作用域

當(dāng)出現(xiàn)在全局作用域內(nèi)時(shí),var 創(chuàng)建一個(gè)全局變量。另外它還會(huì)在 window 上創(chuàng)建一個(gè)具有相同名稱的 全局屬性

var city = "Florence";

console.log(window.city); // "Florence"

當(dāng)在函數(shù)內(nèi)部聲明時(shí),變量的作用域?yàn)樵摵瘮?shù):

var city = "Florence";

function bubble() {
  var city = "Siena";
  console.log(city);
}

bubble(); // "Siena"

console.log(city); // "Florence"

var 聲明會(huì)被提升:

function bubble() {
  city = "Siena";
  console.log(city);
  var city; // hoists
}

bubble(); // "Siena"

意外的全局變量

在沒有任何聲明的情況下所分配的變量(無論是 varlet 還是 const)在默認(rèn)情況下會(huì)成為全局變量

function bubble() {
  city = "Siena";
  console.log(window.city);
}

bubble(); // "Siena"

為了消除這種行為,需要使用嚴(yán)格模式

"use strict";

function bubble() {
  city = "Siena";
  console.log(window.city);
}

bubble(); // ReferenceError: assignment to undeclared variable city

可重新分配和重新聲明

任何用 var 聲明的變量都可以在以后進(jìn)行重新分配重新聲明。重新聲明的例子:

function bubble() {
  var city = "Florence";
  var city = "Siena";
  console.log(city);
}

bubble(); // "Siena"

重新分配的例子:

function bubble() {
  var city = "Siena";
  city = "Florence";
  console.log(city);
}

bubble(); // "Florence"

let

let 語句在 JavaScript 中聲明一個(gè)變量,該變量遵守以下規(guī)則:

  • 屬于塊作用域。
  • 受到暫存死區(qū)的約束。
  • 它不會(huì)在 window 上創(chuàng)建任何全局屬性。
  • 可分配的
  • 不可重新聲明。

塊作用域

let 聲明的變量不會(huì)在 window 上創(chuàng)建任何全局屬性:

let city = "Florence";

console.log(window.city); // undefined

當(dāng)在函數(shù)內(nèi)部聲明時(shí),變量的作用域?yàn)樵摵瘮?shù):

let city = "Florence";

function bubble() {
  let city = "Siena";
  console.log(city);
}

bubble(); // "Siena"

console.log(city); // "Florence"

當(dāng)在中聲明時(shí),變量的作用域?yàn)樵搲K。以下是在塊中使用的例子:

let city = "Florence";

{
  let city = "Siena";
  console.log(city); // "Siena";
}

console.log(city); // "Florence"

一個(gè)帶有 if 塊的例子:

let city = "Florence";

if (true) {
  let city = "Siena";
  console.log(city); // "Siena";
}

console.log(city); // "Florence"

相反,var 并不受到塊的限制:

var city = "Florence";

{
  var city = "Siena";
  console.log(city); // "Siena";
}

console.log(window.city); // "Siena"

暫存死區(qū)

let 聲明可能會(huì)被提升,但是會(huì)產(chǎn)生暫存死區(qū)

function bubble() {
  city = "Siena";
  console.log(city); // TDZ
  let city;
}

bubble();

// ReferenceError: can't access lexical declaration 'city' before initialization

暫存死區(qū)可防止在初始化之前訪問 let 聲明。另外一個(gè)例子:

function bubble() {
  console.log(city); // TDZ
  let city = "Siena";
}

bubble();

// ReferenceError: can't access lexical declaration 'city' before initialization

可以看到兩個(gè)例子中產(chǎn)生的異常都是一樣的:證明了“暫存死區(qū)”的出現(xiàn)。

可重新分配,不可重新聲明

任何用 let 聲明的變量都不能重新聲明。重新聲明引發(fā)異常的例子:

function bubble() {
  let city = "Siena";
  let city = "Florence";
  console.log(city);
}

bubble(); // SyntaxError: redeclaration of let city

這是一個(gè)有效的重新分配的例子:

function bubble() {
  let city = "Siena";
  city = "Florence";
  console.log(city);
}

bubble(); // "Florence"

const

const 語句用來在 JavaScript 中聲明一個(gè)變量,該變量遵守以下規(guī)則:

  • 是屬于塊作用域的。
  • 受到“暫存死區(qū)”的約束。
  • 它不會(huì)在 window 上創(chuàng)建任何全局屬性。
  • 不可重新分配。
  • 不可重新聲明。

塊作用域

用 const 聲明的變量不會(huì)在 window 上創(chuàng)建任何全局屬性:

const city = "Florence";

console.log(window.city); // undefined

當(dāng)在函數(shù)內(nèi)部聲明時(shí),變量的作用域?yàn)樵摵瘮?shù):

const city = "Florence";

function bubble() {
  const city = "Siena";
  console.log(city);
}

bubble(); // "Siena"

console.log(city); // "Florence"

當(dāng)在中聲明時(shí),變量的作用域?yàn)樵搲K。塊語句 {} 的例子:

const city = "Florence";

{
  const city = "Siena";
  console.log(city); // "Siena";
}

console.log(city); // "Florence"

if 塊中的例子:

const city = "Florence";

if (true) {
  const city = "Siena";
  console.log(city); // "Siena";
}

console.log(city); // "Florence"

暫存死區(qū)

const 聲明可能會(huì)被提升,但是會(huì)進(jìn)入暫存死區(qū)

function bubble() {
  console.log(city);
  const city = "Siena";
}

bubble();

// ReferenceError: can't access lexical declaration 'city' before initialization

不可重新分配,不可重新聲明

const 聲明的任何變量都不能重新聲明,也不能重新分配。 一個(gè)在重新聲明時(shí)拋出異常的例子:

function bubble() {
  const city = "Siena";
  const city = "Florence";
  console.log(city);
}

bubble(); // SyntaxError: redeclaration of const city

重新分配的例子示例:

function bubble() {
  const city = "Siena";
  city = "Florence";
  console.log(city);
}

bubble(); // TypeError: invalid assignment to const 'city'

總結(jié)


塊作用域暫存死區(qū)創(chuàng)建全局屬性可重新分配可重新聲明
var?????
let?????
const?????

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享JS中var、let和const是什么內(nèi)容對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,遇到問題就找創(chuàng)新互聯(lián),詳細(xì)的解決方法等著你來學(xué)習(xí)!

網(wǎng)頁題目:JS中var、let和const是什么
標(biāo)題網(wǎng)址:http://aaarwkj.com/article6/ipdeog.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、企業(yè)網(wǎng)站制作服務(wù)器托管、網(wǎng)站排名定制開發(fā)、用戶體驗(yàn)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)
国产亚洲黄片免费在线观看| 亚洲国产熟对白剧情一区二区| av电影国产在线观看| 久草视频在线免费资源站| 国产麻豆91精品女同性恋| 日本精品人妻一区二区三区蜜桃| 日韩熟女av中文字幕| 在线不卡日本v二区到六区| 国产精品呦呦国产精品尤物| 免费国产三级在线观看| 国产九色av在线一区尤物| 国产一区二区精品久久岳√| 国产精品伦理一区二区三区| 日韩av一区二区在线| 人妻中文字幕视频在线| 日本韩国黄色三级三级| 欧美三级黄片免费视频| 中文字幕日韩精品久久| 持续侵犯人妻中文字幕| 欧美艳星一区二区三区四区| 亚洲成年人黄色在线观看| 18岁未成年禁止观看视频| 亚洲国产日韩欧美第一页| 国产午夜视频成人无遮挡| 熟女人妻视频一区二区| 麻豆视传媒官网免费观看| 日本一本一道高清不卡视频| 国产一区二区三区不卡av| 传媒在线免费观看视频| 本色啪啪人妻夜嗨嗨av| 国产午夜在线观看免费视频| 精品亚洲国产一区二区三区| 亚洲午夜天堂在线a毛片| 亚洲一区二区三区av蜜桃| 久久最新最热视频精品| 亚洲国产精品久久久精品| 一本之道久久成人综合| 日本av二区三区在线| 欧美香蕉在线观看视频| 日本一区二区三区三州免费观看| 亚洲免费一区二区三区精品|