国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

ES6學(xué)習(xí)筆記:let的使用

Lin_YT / 3307人閱讀

摘要:注意不再是安全的操作不允許重復(fù)聲明塊級作用域匿名函數(shù)寫法塊級作用域?qū)懛ǖ膰?yán)格模式規(guī)定,函數(shù)只能在頂層作用域和函數(shù)內(nèi)聲明,其他情況比如代碼塊循環(huán)代碼塊的聲明都會報錯。

塊級作用域
for(var i = 0; i < 10; i++){}
console.log(i); //10

for(let j = 0; j < 10; j++){}
console.log(j); //"ReferenceError: j is not defined

疑問: https://segmentfault.com/q/1010000004643248

不存在變量提升
console.log(a); // 輸出undefined
console.log(b); // 報錯ReferenceError
console.log(c); // 報錯ReferenceError
var a = 2;
let b = 2;

注意區(qū)別undefinedReferenceError

暫時性死區(qū)(TDZ)

只要進(jìn)入當(dāng)前塊級作用域,所使用的變量已經(jīng)存在了,但在聲明之前都屬于死區(qū),不可進(jìn)行操作。

注意: typeof不再是100%安全的操作

typeof x; // ReferenceError
typeof y  // undefined
let x;
不允許重復(fù)聲明
let x = 1;
let x; // "SyntaxError: Identifier "x" has already been declared

var y = 2;
var y = 3; // y = 3
塊級作用域
// 匿名函數(shù)寫法
(function () {
  var tmp = ...;
  ...
}());

// 塊級作用域?qū)懛?{
  let tmp = ...;
  ...
}

ES5的嚴(yán)格模式規(guī)定,函數(shù)只能在頂層作用域和函數(shù)內(nèi)聲明,其他情況(比如if代碼塊、循環(huán)代碼塊)的聲明都會報錯。

// ES5
"use strict";
if (true) {
  function f() {} // 報錯
}

ES6由于引入了塊級作用域,這種情況可以理解成函數(shù)在塊級作用域內(nèi)聲明,因此不報錯,但是構(gòu)成區(qū)塊的大括號不能少

// 報錯
"use strict";
if (true)
  function f() {}
聲明的全局變量不再是window的屬性
"use strict";
var a = 1;
console.log(window.a) // 1

let b = 1;
console.log(window.b) // undefined

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/79008.html

相關(guān)文章

  • ES6學(xué)習(xí)筆記之模塊

    摘要:但是一直沒有在語言層面支持模塊,直到的出現(xiàn)。相信在不久的將來,的模塊一定會全面取代和。的模塊提供了個新的語法,分別是和。就是模塊用來對外暴露數(shù)據(jù)的接口,具體用法如下。 本文同步自我得博客:http://www.joeray61.com 簡介 在當(dāng)今的Javascript程序中,模塊的作用不言而喻,目前廣泛應(yīng)用的主要有AMD(瀏覽器端)和CommonJS(服務(wù)器端)。但是Javascri...

    Airmusic 評論0 收藏0
  • 珠峰培訓(xùn)ES6學(xué)習(xí)筆記1

    摘要:消除字符串頭部空格消除尾部空格從頭部補(bǔ)全字符串從尾部補(bǔ)全字符串 let和const var關(guān)鍵字定義變量的特點: 可以重復(fù)定義 不能定義常量 不支持塊級作用域 let的特點 不可以重復(fù)定義 變量不能提升,在變量定義之前,不能使用 在大括號當(dāng)中定義的變量(塊級作用域中),在作用域外無法訪問 解決一些ES5當(dāng)中需要閉包實現(xiàn)的功能,比如:每隔1秒循環(huán)輸出一個當(dāng)前的值 const的特點...

    番茄西紅柿 評論0 收藏0
  • ES6學(xué)習(xí)筆記一:let、const、塊級作用域

    摘要:一新增了命令和一樣都是用來聲明標(biāo)量,但所聲明的變量只在聲明的代碼塊內(nèi)及聲明之后有效命令適合在循環(huán)中使用在循環(huán)內(nèi)有效在全局內(nèi)有效命令暫時性死區(qū)大括號中的使用了聲明,所以在大括號中暫時只能在聲明之后有效不允許在同一作用域內(nèi)重復(fù)聲明變量,因此不能 一、ES6新增了let命令 let 和 var 一樣都是用來聲明標(biāo)量,但let所聲明的變量只在【聲明的代碼塊內(nèi)】及【聲明之后】有效 { c...

    YuboonaZhang 評論0 收藏0
  • ES6 學(xué)習(xí)筆記(一)let,const和解構(gòu)賦值

    摘要:另外對于已經(jīng)聲明的變量進(jìn)行解構(gòu)賦值時,要非常小心。因此在行首加,將其強(qiáng)制轉(zhuǎn)化為表達(dá)式執(zhí)行。由于和無法轉(zhuǎn)為對象,所以對它們進(jìn)行解構(gòu)賦值,都會報錯。 let和const let和const是es6新增的兩個變量聲明關(guān)鍵字,與var的不同點在于: (1)let和const都是塊級作用域,在{}內(nèi)有效,這點在for循環(huán)中非常有用,只在循環(huán)體內(nèi)有效。var為函數(shù)作用域。 (2)使用let和con...

    iOS122 評論0 收藏0

發(fā)表評論

0條評論

Lin_YT

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<