ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

JS高级—06—with语句(五种作用域)、evel语句、严格模式

2022-05-14 00:01:01  阅读:114  来源: 互联网

标签:语句 块级 evel 定义 作用域 参数 全局


 

一、with 语句

在es6之后,我们现在有三个作用域 ,全局、函数、块级作用域;

 

es6之后引入块级作用域,单独的大括号、for、if里的大括号么,都会形成一个块级作用域,如果变量使用let、cosnt定义将不能突破块级作用域,但是var仍然可以突破块级作用域;但是不管你突破不突破,都是有这个作用域的;

 

with的作用是什么?

是拓展作用域链,下面的代码中,如果没有with,name和age将会去全局作用域中找,但是有了with,就相当去给这些代码加了一个外层作用域,将先去with里的obj中找,如果找不到再沿着作用域链去全局作用域找;

所以结果为 “helloworld”和18;

 

 

 


注意:说到外层作用域又要明白一个点,第一个是块级作用域,第二个根本就是定义一个对象的字面量形式,它可不是块级作用域!

它是定义一个对象,没有作用域!

它是定义一个对象,没有作用域!

它是定义一个对象,没有作用域!

 

除了全局作用域、块级作用域、函数作用域外、with作用域外,一种新的作用域参数作用域,在函数的参数有默认值时会有一种新的参数作用域;但是很少用到,了解即可;

课程(0’20‘‘),具体是哪一节的课程忘了,可能是335节,实在不行去百度搜参数作用域重新学下,但这个老师说了有印象即可,用的很少;

 

ecma规范就是这么定义的:

 

 

 

 

二、evel语句

 

 

 

 

三、严格模式

 

 

 

 

 

标签:语句,块级,evel,定义,作用域,参数,全局
来源: https://www.cnblogs.com/EricShen/p/16268778.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有