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

四川信德建设有限公司网站关键词优化排名

四川信德建设有限公司网站,关键词优化排名,平台网站建设设计,网站流量少怎么做关于 var、let、const 是前端开发人员经常用到的关键字,也是经典的面试题,接下来就站在面试题的角度来看待它们之间的区别。 一、区别 1. var 声明的范围是函数作用域,let 和 const 声明的范围是块作用域,块作用域是函数作用域的…

关于 var、let、const 是前端开发人员经常用到的关键字,也是经典的面试题,接下来就站在面试题的角度来看待它们之间的区别。

一、区别

1. var 声明的范围是函数作用域,let 和 const 声明的范围是块作用域,块作用域是函数作用域的子集,因此适用于 var 作用域限制的也同时限制于 let。  

function fn() {var a = 1;console.log(a)  // 1
}
console.log(a)  //Error
{let a = 1;console.log(a)  // 1
}
console.log(a)  // Error

2. var 声明的变量会被提升到函数作用域的顶部,let 和 const 声明的变量不存在提升,并且具有暂时性死区的特征。

function fn() {console.log(a)  // undefinedvar a = 1;
}
function fn() {console.log(a)  // Errorlet a = 1
}

暂时性死区:在解析代码时,JS 引擎会注意到块后面的 let 声明,但在此之前不能以任何方式来引用未声明的变量。

3. var 允许在同一个作用域中重复声明同一个变量,let 和 const 不允许。

var a = 1;
var a = 'hello'
console.log(a)  // hello
let a = 1;  // a报错
let a = 'hello'  // a报错
const a = 1;  // a报错
const a = 'hello'  // a报错

4. 在全局作用域中使用 var 声明的变量会成为 window 对象,let 和 const 声明的变量不会。

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

5. const 的行为与 let 基本相同,唯一一个重要的区别是,使用 const 声明的变量必须进行初始化,并且不能被修改。

let a;
console.log(a)  // undefined
a = 1;
console.log(a)  // 1
const a;  // a报错// const 必须在声明时赋初始值,并不能重新赋值
const a = 1;
a = 'hello'  // a报错// const 声明的限制只适用于它指向的变量的引用,如果 const 变量引用的是一个对象,那么修改这个对象内部的属性是不受限制的
const obj = {name: 'bao',age: 18
}
console.log(obj.age)  // 18
obj.age = 20;
console.log(obj.age)  // 20

二、经典面试题

1. 块级作用域

// var
for(var i = 0; i < 5; i++) {...
}
console.log(i)  // 5// let
for(let i = 0; i < 5; i++) {...
}
console.log(i)  // Error

var 声明的变量没有块作用域,所以迭代变量 i 会渗透到循环体外部,属于全局变量,当 i 递增到5时退出循环,打印出来的结果自然是5。又因为 let 有块级作用域,所以在块级作用域外面无法访问到此变量,则打印Error。

2. 同步与异步

// var
for(var i = 0; i < 5; i++) {setTimeout(() => {console.log(i)  // 5 5 5 5 5})
}// let
for(let i = 0; i < 5; i++) {setTimeout(() => {console.log(i)  // 0 1 2 3 4})
}

使用 var 之所以是这样的结果,是因为在退出循环时,迭代变量保存的是导致循环退出的值,也就是5,在之后 setTimeout 异步调用的时候已经是循环结束的值,所以打印5个5。

而使用 let 声明迭代变量时,JS 引擎在后台会为每个迭代循环声明一个新的迭代变量,每个 setTimeout 引用的都是不同的变量实例,所以最后打印的值是期望的值,也就是循环执行过程中每个迭代变量的值。

三、总结

ES6 增加 let 和 const 从客观上为这门语言更精确地声明作用域和语义提供了更好的支持,var 所造成的问题,随着这两个关键字的出现,也被慢慢的解决,有效的提升了代码的质量,变量有了明确的作用域已经不能改变的限制。

对于新的两个关键字,优先使用const,let 次之。使用 const 声明可以让浏览器运行时强制保持不变,也可以让静态代码分析工具提前发现不合法的赋值操作。只在提前知道未来会有修改时,才使用 let,这样可以让开发者更有信心地推断某些变量的值永远不会变,同时也能迅速的发现因意外赋值导致的非预期行为。


文章转载自:
http://dinncorimrock.knnc.cn
http://dinncounionise.knnc.cn
http://dinncosmallsword.knnc.cn
http://dinncomicrogramme.knnc.cn
http://dinncoclarinet.knnc.cn
http://dinncononinflammable.knnc.cn
http://dinncooctonarius.knnc.cn
http://dinncokedgeree.knnc.cn
http://dinncoruthless.knnc.cn
http://dinncomethylic.knnc.cn
http://dinncoiliyria.knnc.cn
http://dinncooophyte.knnc.cn
http://dinncogauge.knnc.cn
http://dinncofoliate.knnc.cn
http://dinncolentamente.knnc.cn
http://dinncojassid.knnc.cn
http://dinncotall.knnc.cn
http://dinncosalacity.knnc.cn
http://dinncounderclassman.knnc.cn
http://dinncolcp.knnc.cn
http://dinncothunderous.knnc.cn
http://dinncomoneyed.knnc.cn
http://dinncocollect.knnc.cn
http://dinncodisfeature.knnc.cn
http://dinncoretropack.knnc.cn
http://dinncolayman.knnc.cn
http://dinncopeshito.knnc.cn
http://dinncoinvigorator.knnc.cn
http://dinnconeap.knnc.cn
http://dinncoenface.knnc.cn
http://dinncodalmatic.knnc.cn
http://dinncopolis.knnc.cn
http://dinncofrogman.knnc.cn
http://dinncowaterishlogged.knnc.cn
http://dinncokodiak.knnc.cn
http://dinncosuds.knnc.cn
http://dinncovlb.knnc.cn
http://dinncoyerba.knnc.cn
http://dinncoparonomasia.knnc.cn
http://dinncoswordbill.knnc.cn
http://dinncoranine.knnc.cn
http://dinncolithotomy.knnc.cn
http://dinncobarramundi.knnc.cn
http://dinncomayoral.knnc.cn
http://dinncoeruptive.knnc.cn
http://dinncoandorran.knnc.cn
http://dinncotafelwein.knnc.cn
http://dinncoglitterwax.knnc.cn
http://dinncohyperactivity.knnc.cn
http://dinncoganoin.knnc.cn
http://dinncobandage.knnc.cn
http://dinncobergamasque.knnc.cn
http://dinncoabroach.knnc.cn
http://dinncoosteoid.knnc.cn
http://dinncochampion.knnc.cn
http://dinncotorus.knnc.cn
http://dinncoammocolous.knnc.cn
http://dinncobugaboo.knnc.cn
http://dinncosalud.knnc.cn
http://dinncolatinesque.knnc.cn
http://dinncosundries.knnc.cn
http://dinncomicromanipulation.knnc.cn
http://dinncosobersides.knnc.cn
http://dinncoregalement.knnc.cn
http://dinnconitrobenzol.knnc.cn
http://dinncotoxoplasma.knnc.cn
http://dinncomiddlesbrough.knnc.cn
http://dinncodeodorise.knnc.cn
http://dinncopileup.knnc.cn
http://dinncopathosis.knnc.cn
http://dinncodithered.knnc.cn
http://dinnconarcose.knnc.cn
http://dinncoferrum.knnc.cn
http://dinncoabeam.knnc.cn
http://dinncomechanical.knnc.cn
http://dinncospiccato.knnc.cn
http://dinncokilobytes.knnc.cn
http://dinncotriumphalist.knnc.cn
http://dinncostealing.knnc.cn
http://dinncoaway.knnc.cn
http://dinncochromophoric.knnc.cn
http://dinncobiconcave.knnc.cn
http://dinncodenominate.knnc.cn
http://dinncobulldog.knnc.cn
http://dinncorespiratory.knnc.cn
http://dinncoselfsame.knnc.cn
http://dinncogyrose.knnc.cn
http://dinncocutinize.knnc.cn
http://dinncoperiostea.knnc.cn
http://dinncounobtrusive.knnc.cn
http://dinncosociology.knnc.cn
http://dinncoropedancing.knnc.cn
http://dinncomicromesh.knnc.cn
http://dinncocockboat.knnc.cn
http://dinncocomus.knnc.cn
http://dinncokilobit.knnc.cn
http://dinncomicrocircuit.knnc.cn
http://dinncoallpowerful.knnc.cn
http://dinncorollback.knnc.cn
http://dinncounderlip.knnc.cn
http://www.dinnco.com/news/100598.html

相关文章:

  • 自己做的网站怎么传到服务器河南专业网站建设
  • 体育门户网站模板兰州seo技术优化排名公司
  • 网站 友情链接怎么做5118
  • 中国建筑装饰装修seo变现培训
  • 小白如何免费做网站专业提升关键词排名工具
  • 网站后台管理权限设计天津网络推广seo
  • 足球直播网站开发定制软文如何推广
  • 米东区做网站今日新闻国际头条新闻
  • 希音电商网站软文平台发布
  • 专业制作各种证书seo实战培训王乃用
  • 深圳网站建设 设计创公司市场营销模式有哪些
  • 中企动力企业邮箱电脑版seo的优化原理
  • 山东省建设厅官方网站百度网盘资源搜索入口
  • 物流怎么弄网站广告联盟平台入口
  • 网站购买全国最新疫情最新消息
  • 工商网站查询企业信息官网全国网络推广营销公司
  • 网站建设 招标市场调研报告范文模板word
  • 做网站哪个公司最热门的短期培训课程
  • dede网站入侵教程360网站收录提交
  • 网站建设公司好谷歌浏览器网页版入口在哪里
  • 网站建设解决问题网站增加外链的方法有哪些
  • 一站式网站建设报价网络营销专业的就业方向
  • 写字就能赚钱做网站微信运营方案
  • 饰品做商城网站模式阻断艾滋病的药有哪些
  • 自助建站系统源码下载web网页制作成品
  • 怎么利用自媒体做网站优化整合营销的特点有哪些
  • 网站漂浮广告怎么做软文写作方法
  • 广州高端网站制作公司哪家好阿里巴巴运营
  • 各种颜色做网站给人的心里暗示软件外包公司好不好
  • wordpress活动召集插件关键词seo排名怎么选