日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Javascript let和const

發布時間:2023/12/9 java 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Javascript let和const 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Javascript let和const

在 ES6 之前,JavaScript 只有兩種作用域:

全局變量 : 在函數外聲明的變量作用域是全局的

局部變量(函數變量):在函數內聲明的變量作用域是局部的

<script type="text/javascript">var a = "aaa";console.log(a) // aaafunction myFunction() {var b = "bbb";console.log(a) // aaaconsole.log(b) // bbb// 這里也可以使用 carName 變量}console.log(b) // 報錯</script>

塊級作用域
1) 塊級作用域不影響var聲明的變量。使用 var 關鍵字聲明的變量不具備塊級作用域的特性,它在 {} 外依然能被訪問到。

{ var x = 2; } console.log(x) // 2let i = 5; for (let i = 0; i < 10; i++) {// 一些代碼... } console.log(i); // 5

2)let
a) 聲明的變量只在所處于的塊級有效
b) let沒有‘變量提升’的特性,而是‘暫時性死區(temporal dead zone)’特性。

function func(args){if(true){console.log(i); // Cannot access 'i' before initializationlet i = 6;console.log(i); // 6}console.log(i); // i is not defined }; func();

一個經典例子:

var arr = []; for(var i = 0; i < 2; i++){arr[i] = function(){console.log(i);}; }; arr[0](); // 2 arr[1](); // 2 'use strict'; var arr = []; for(let i = 0; i < 2; i++){arr[i] = function(){console.log(i);}; }; arr[0](); // 0 arr[1](); // 1

3) const
a) 聲明的變量只在所處于的塊級有效
b) const是用來聲明恒定變量的,聲明的同時就必須賦值,否則會報錯。

const 定義的變量并非常量,并非不可變,它定義了一個常量引用一個值。使用 const 定義的對象或者數組,其實是可變的。 // 創建常量對象 const car = {type:"Fiat", model:"500", color:"white"}; // 修改屬性: car.color = "red"; // 添加屬性 car.owner = "Johnson";不能對常量對象重新賦值: const car = {type:"Fiat", model:"500", color:"white"}; car = {type:"Volvo", model:"EX60", color:"red"}; // 錯誤

總結

以上是生活随笔為你收集整理的Javascript let和const的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。