摘要:與也是用來聲明變量,但是不同于,個人理解是它是用來修復的一些神奇效果,似的變量更加規范,簡單來說定義的變量就是私有變量,有以下幾點作用聲明的變量只在它所在的代碼塊中生效即它的塊級作用域中生效對于循環的塊級作用域,當聲明循環體時,有兩個特點聲
let與const let
也是用來聲明變量,但是不同于var,個人理解是它是用來修復var的一些神奇效果,似的變量更加規范,簡單來說let定義的變量就是私有變量,有以下幾點作用
let聲明的變量只在它所在的代碼塊中生效(即它的塊級作用域中生效)
if (true) { let i; console.log(i); } //console.log(i); ReferenceError: i is not defined
對于for循環的塊級作用域,當let聲明循環體i時,有兩個特點
let聲明的i外部不能被訪問
for (let i = 0; i < 4; i ++) { console.log(i); } console.log(i); //i is not defined
之所以里面能訪問i,因為for循環子作用域能訪問外部作用
for循環當在子作用域,聲明let i時與循環體i是獨立的
for (let i = 0; i < 4; i ++) { let i = 6; console.log(i); }
為什么能,簡單說就是i私有了
每次循環let都是重新申明的,正因為這樣,就能解決for循環時閉包帶來的問題
for (let i = 0; i < 4; i ++) { setTimeout(function () {console.log(i)}, 100) } //0 1 2 3 for (var i = 0; i < 4; i ++) { setTimeout(function () {console.log(i)}, 100) } //4 4 4 4
不存在變量提升,
//console.log(i); //console.log(typeof i); let i;
都是會報錯的,i is not defined。
對于let聲明的變量,typeof 不再是安全形式了,并且該變量必須在聲明后才能使用,在它之前使用那就是暫時的死區
function f(x=y,y=2) {}; f(); //y is not defined let x = x; //x is not defined
同一作用域中也不能重復定義
let i; let i; //報錯
function f(n) { let n } f(); //報錯
不同作用域可以重復且各自獨立
function f(n) { {let n} }
let聲明的變量不屬于window
let i = 1; console.log(window.i); //undefinedconst作用是用來聲明常量
作用和let一樣,但多兩點
一旦聲明必須初始化,也就是必需賦值,否則報錯;
const P = 1;
一旦賦值不能被改變,其本質是不能改變變量的內存地址
變量是原始類型的數據,其本身就是不可變的,再加上不能重新賦值,改變地址
const P = 1; P = 2; //報錯
變量是對象類型的,其本身是可變的,所以也就能改變,要注意的是其地址并不改變
const P = {a : 1} ; P.a =2; console.log(P); //{a : 2}
想要其內容也不變,可以凍結它
const P = {a : 1} ; Object.freeze(P); P.a =2; console.log(P);
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/98538.html
摘要:變量的解構賦值更加便利的從匿名對象或者數組中,對變量進行賦值數組的解構賦值基本樣式,右邊數據類型必須是可迭代的類型。 變量的解構賦值 更加便利的從匿名對象或者數組中,對變量進行賦值; 數組的解構賦值 基本樣式,右邊數據類型必須是可迭代的類型。 let a = 1, b = 2, c = 3; //等價于 //let [a, b, c] = [1, 2, 3]; 對...
摘要:阮一峰老師開源作品。書上的示例代碼可以通過在線網站代碼調試工具調試。 阮一峰老師開源作品。 書上的示例代碼可以通過 在線網站代碼調試工具 JS Bin 調試。 作用域 作用域鏈 每個變量或函數通過執行環境 (execution context) 定義了其有權訪問的其他數據,決定了他們各自的行為; 全局執行環境是最頂層的執行環境,根據宿主環境的不同,表示全局執行環境的對象也不同:在瀏覽...
摘要:原文地址一個非常適合入門學習的博客項目前端掘金一個非常適合入門學習的項目,代碼清晰結構合理新聞前端掘金介紹一個由編寫的新聞。深入淺出讀書筆記知乎專欄前端專欄前端掘金去年的一篇老文章,恰好今天專欄開通,遷移過來。 破解前端面試(80% 應聘者不及格系列):從閉包說起 - 掘金修訂說明:發布《80% 應聘者都不及格的 JS 面試題》之后,全網閱讀量超過 6W,在知乎、掘金、cnodejs ...
摘要:原文地址一個非常適合入門學習的博客項目前端掘金一個非常適合入門學習的項目,代碼清晰結構合理新聞前端掘金介紹一個由編寫的新聞。深入淺出讀書筆記知乎專欄前端專欄前端掘金去年的一篇老文章,恰好今天專欄開通,遷移過來。 破解前端面試(80% 應聘者不及格系列):從閉包說起 - 掘金修訂說明:發布《80% 應聘者都不及格的 JS 面試題》之后,全網閱讀量超過 6W,在知乎、掘金、cnodejs ...
摘要:原文第一章主要介紹的大概情況基本語法。通過和來引用對象屬性或數組元素的值就構成一個表達式。 原文:https://keelii.github.io/2016/06/16/javascript-definitive-guide-note-0/ 第一章 主要介紹 JavaScript 的大概情況、基本語法。之前沒有 JavaScript 基礎的看不懂也沒關系,后續章節會有進一步的詳細說明...
閱讀 4221·2021-09-26 10:17
閱讀 871·2021-09-22 15:02
閱讀 3446·2021-09-06 15:00
閱讀 1055·2021-07-25 16:52
閱讀 2734·2019-08-29 16:16
閱讀 2515·2019-08-29 13:25
閱讀 1588·2019-08-26 13:51
閱讀 2182·2019-08-26 10:58