真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

關(guān)鍵字 let 和關(guān)鍵字 var 的區(qū)別

var 關(guān)鍵字

在塊級作用域中使用var聲明變量,外面同級的塊級作用域也可以訪問。if、switch、for 等語句的作用域都沒有塊級作用域,所以說,在這些語句中聲明的變量都能被外界訪問,這是非常不安全的。

創(chuàng)新互聯(lián)公司是一家專注于成都做網(wǎng)站、成都網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè)與策劃設(shè)計,山丹網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)10余年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:山丹等地區(qū)。山丹做網(wǎng)站價格咨詢:18982081108

function f() {
  if (true) { var x = 10; }
  console.log(x); // => 10
}

在 if 語句中通過var定義的變量,能夠被外界訪問。然而,在 Java 中是不允許的:

而 JavaScript 只有函數(shù)才能創(chuàng)建一個塊級作用域,也可以用IIFE函數(shù)來創(chuàng)建一個塊級作用域。

function f() {
  (function () { if (true) { var x = 10; } })();
  console.log(x); // => Uncaught ReferenceError: x is not defined
}

IIFE函數(shù)創(chuàng)建塊級作用域,if 語句在里面聲明變量,在第 3 行中使用變量 x,報錯了。

let 關(guān)鍵字

控制語句、條件語句的作用域不是塊級作用域,所以var聲明的變量可以穿透,導(dǎo)致變量沖突容易發(fā)生。ES6 新出的letconst關(guān)鍵字聲明在這些語句中就能形成塊級作用域。所以,我推薦使用let來聲明變量,而不是var

function fun() {
  for (let i = 10; i > 0; i--) {}
  console.log(i); // => Uncaught ReferenceError: i is not defined
}

文章標(biāo)題:關(guān)鍵字 let 和關(guān)鍵字 var 的區(qū)別
分享路徑:http://weahome.cn/article/dsojgjd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部