当前位置: 首页 > news >正文

杭州建设银行网站国际时事新闻最新消息

杭州建设银行网站,国际时事新闻最新消息,网络购物商城,做设计在哪个网站上找高清图片文章目录JavaScript var & let区别变量作用域变量提升变量重复声明全局对象属性for循环中的作用域JavaScript var & let区别 var和let都是用来声明变量的关键字。 变量作用域 var声明的变量作用域是函数作用域或全局作用域,而let声明的变量作用域是块级作…

文章目录

  • JavaScript var & let区别
      • 变量作用域
      • 变量提升
      • 变量重复声明
      • 全局对象属性
      • for循环中的作用域

JavaScript var & let区别

var和let都是用来声明变量的关键字。

变量作用域

var声明的变量作用域是函数作用域或全局作用域,而let声明的变量作用域是块级作用域。

function test1() {var a = 1;if (true) {var a = 2;console.log(a);}console.log(a);
}
test1();
// 2
// 2
function test2() {let a = 1;if (true) {let a = 2;console.log(a);}console.log(a);
}
test2();
// 2
// 1

说明:test1函数中,if语句中的变量a覆盖了函数作用域中的变量a,因此2次输出都是2.

test2函数中,if语句中的a变了只在块级作用域中生效,因此第二次输出的a变量为1。

变量提升

var声明的变量会发生变量提升,即变量可以在声明前使用,而let声明的变量不会发生变量提升

function test1() {console.log(a);var a = 1;
}
test1();
// undefined
function test2() {console.log(a);let a = 1;
}
test2();
// Uncaught ReferenceError: Cannot access 'a' before initialization

说明:test1函数中,因为var声明的变量存在变量提升,即使变量a在声明前使用也不会不报错,输出undefined。

test2函数中,let声明的变量不会发生变量提升,因此在声明前使用会报错。

变量重复声明

同一作用域内,var声明的变量可以被重复声明,而let声明的变量不允许被重复声明。

function test1() {var a = 1;var a = 2;console.log(a);
}
test1();
// 2
function test2() {let a = 1;let a = 2; //提示错误console.log(a);
}

说明:test1函数中,变量a可以被重复声明,最终输出的值为2.

test2函数中,变量a不能重复声明,报错提示Identifier 'a' has already been declared*

全局对象属性

在全局作用域下,用var声明的变量会成为全局对象的一个属性,而let声明的变量不会。

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

说明:变量a被声明为全局变量,可以通过window对象访问。

变量b不会称为全局对象,因此会输出undefined。

for循环中的作用域

在循环语句中,用var声明的变量会存在作用域提升和共享的问题,而用let声明的变量则不存在这些问题。

function test1() {for (var i = 0; i < 5; i++) {setTimeout(function() {console.log(i);}, 100);}
}
test1();
// 5
// 5
// 5
// 5
// 5
function test2() {for (let i = 0; i < 5; i++) {setTimeout(function() {console.log(i);}, 100);}
}
test2();
// 0
// 1
// 2
// 3
// 4

说明:test1函数中,var声明的变量在函数作用域中会发生变量提升问题,最终会输出5个5.

test2函数中,let声明的变量不存在这些问题,会输出0~4。

http://www.wangmingla.cn/news/25118.html

相关文章:

  • 网站打赏怎么做的最新天气预报最新消息
  • wordpress搜索错误优化大师安卓版
  • 中国制造网官网登录优化设计七年级上册语文答案
  • 网站数据迁移教程关键词查找
  • .网站排版磁力狗
  • 做网站需要编程基础在线推广
  • 用css做商务网站的代码电商项目策划书
  • 山西省住房和城乡建设厅网站首页搜狗搜索网页版
  • 昆山做网站的jofuns湖南正规seo公司
  • 网站建设面试试题搜索大全浏览器
  • 昆明设计公司排行榜合肥网络优化推广公司
  • 电商网站建设运城seo的中文含义是什么意思
  • 网站做视频百度关键词竞价排名
  • 网站加载很慢怎么办网络营销的网站建设
  • 如何做php网站汕头网络营销公司
  • 南昌网站设计案例在线识别图片百度识图
  • 上海网站搭建seo搜索引擎优化是通过优化答案
  • php的网站架构建设框架网络推广关键词优化公司
  • 中天建设集团有限公司电话号码百度seo排名优化助手
  • wordpress导航栏去掉seo推广多少钱
  • 做请柬的网站排名优化网站建设
  • 网站建设公司 信科便宜app拉新推广一手接单平台
  • wordpress不显示作者评论嘉兴关键词优化报价
  • 青岛做网站找哪家好免费信息发布平台网站
  • 做网站那个好海外网站seo优化
  • 玫琳凯网站建设与推广方案网络舆情分析报告
  • 做网站一台电脑可以吗做百度网站一年多少钱
  • 做政府门户网站建设如何创建自己的网站
  • 想做个网站找谁做谷歌搜索指数查询
  • 网站后台域名登陆软件新媒体运营哪个培训机构好