初识 es6

es6 可能出来已经有一段时间了,但是我到今天才发现他的好,却不是很了解他,也不知道各个浏览器的兼容性怎么样?今天就把他们都弄明白。

 

新增命令

let ES6新增了let命令,用来声明变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效(什么是代码块呢,就是用{}包起来的代码)

例子:

1.{ 

  var a=1;

  let b=2;

}

console.log(a);//1

console.log(b);//undefined

2.var temp=123;

 if(true){

  temp=456;

let temp ;//报错

}

ES6明确规定,如果区块中存在letconst命令,这个区块对这些命令声明的变量,从一开始就形成了封闭作用域。凡是在声明之前就使用这些变量,就会报错。

块级作用域写法

{

  let tmp

}

 

函数能不能在块级作用域之中声明,是一个相当令人混淆的问题。

ES5 规定,函数只能在顶层作用域和函数作用域之中声明,不能在块级作用域声明。  可以在代码块里调用函数

 

ES6 引入了块级作用域,明确允许在块级作用域之中声明函数。

 

现在有一个提案,使得块级作用域可以变为表达式,也就是说可以返回值,办法就是在块级作用域之前加上do,使它变为do表达式。

 let x=do{

   let t=f();

  t*t+1;

}

x将得到整个块级作用域的返回值

转载于:https://www.cnblogs.com/daiwenru/p/6400371.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/402181.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python爬虫利器四PhantomJS的用法

大家有没有发现之前我们写的爬虫都有一个共性,就是只能爬取单纯的 html 代码,如果页面是 JS 渲染的该怎么办呢?如果我们单纯去分析一个个后台的请求,手动去摸索 JS 渲染的到的一些结果,那简直没天理了。所以&#xff0…

从零开始学习Hadoop--第1章 Hadoop的安装

Hadoop的安装比较繁琐,有如下几个原因:其一,Hadoop有非常多的版本;其二,官方文档不尽详细,有时候更新脱节,Hadoop发展的太快了;其三,网上流传的各种文档,或者…

vim使用—实现程序的自动补齐(C语言)

使用过Source Insight的人一定对它的自动补全功能印象深刻,在很多的集成开发环境中,也都支持自动补全。vim做为一个出色的编辑器,这样的功能当然少不了。至于如何实现程序自动补全,网上教程很多。这里,我将自己配置过程…

8、JDBC入门整理

JDBC入门 l 导jar包:驱动! l 加载驱动类:Class.forName(“类名”); l 给出url、username、password, l 使用DriverManager类来得到Connection对象! 1 什么是JDBC(接口,实现为驱动) JDBC(Java DataBase…

Python 爬虫利器二之 Beautiful Soup 的用法

上一节我们介绍了正则表达式,它的内容其实还是蛮多的,如果一个正则匹配稍有差池,那可能程序就处在永久的循环之中,而且有的小伙伴们也对写正则表达式的写法用得不熟练,没关系,我们还有一个更强大的工具&…

[C#]Attribute特性(3)——AttributeUsage特性和特性标识符

相关文章 [C#]Attribute特性 [C#]Attribute特性(2)——方法的特性及特性参数 AttributeUsage特性 除了可以定制自己的特性来注释常用的C#类型外,您可以用AttributeUsage特性来定义您想怎样使用这些特性。AttributeUsage特性采用如下的调用惯例: 1 [Attri…

Linux 命令 ——less命令

less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看,但若使用了 less …

Python 爬虫利器三之 Xpath 语法与 lxml 库的用法

原文链接https://cuiqingcai.com/2621.html 前言 前面我们介绍了 BeautifulSoup 的用法,这个已经是非常强大的库了,不过还有一些比较流行的解析库,例如 lxml,使用的是 Xpath 语法,同样是效率比较高的解析方法。如果大…

android闹钟实现原理

闹钟的原理可用下面我自己画的一幅图来概括:(不对的地方,尽管吐槽) 我们来看看新建闹钟到闹钟响铃的步骤: 1、新建一个闹钟: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22…

将openstack的Token认证信息存储在memcache中

公司线上的openstack环境运行了5个多月的时间,keystone库的token表已经增长到了31GB,这个数据量还是很大的,对于以后的数据库备份很不方便。每次管理openstack的时候,都会产生一个新的token验证,而历史token信息其实都…

Linux 下shell编程

什么是shell?Shell是一个命令解析器,是介于Linux操作系统的内核(kernel)与用户之间的一个绝缘层。shell脚本就是讲各类命令预先放入其中,方便一次性执行的一个程序文件,主要用于方便管理员进行设置或者管理。 序员的角度来看, Sh…

lxml学习【未完成】

链接 https://www.jianshu.com/p/e084c2b2b66d 官方教程

构建之法第四章--两人合作

两人合作 这一章主要讲述代码规范,极限编程,结对编程,两人合作的不同阶段,影响他人的技巧。 这一章主要介绍代码的规范和代码复审,这个也是我们在编码过程中需要注意的,这样既可以方便别人,也方…

Linux环境变量的设置和查看

环境变量一般是指在操作系统中用来指定操作系统运行环境的一些参数,比如临时文件夹位置和系统文件夹位置等等。 一、Linux的变量种类 按变量的生存周期来划分,Linux变量可分为两类: 1、永久的:需要修改配置文件,变量永…

datastage 重启 续

在重启DS时,不少人肯定会说,一定要在重启之前确认没有人连接DS了。但有时会忘的。虽然说,等一些时间,系统可能会释放死进程,但也有可能,不会。而重启服务器,对于生产系统,可不是那么…

Python urllib、urllib2、urllib3

相关链接: 《Python urllib、urllib2、urllib3用法及区别》 《urllib2库.官方文档翻译》 《urllib3官方文档》 《urllib3的基本用法》 《详解 python3 urllib》

linux 目录/sys 解析

今天学习Linux目录时,遇到/sys这个目录,老师怎么讲的,不太清楚,先对/sys目录知识进行一个整理 首先,对 /sys目录下的各个子目录进行具体说明: /sys下的子目录 内容 /sys/devices 该目录下…

南下事业篇——深圳 深圳(回顾)

2019独角兽企业重金招聘Python工程师标准>>> 二0一二年三月二十三号记录了下面的一篇日志,现在回味一下觉得自己有点惭愧,但不后悔,知道的越多就越了解自己的无知,工作之后渐渐磨灭了许多锐气,变得平滑低调…

php中花括号的使用

一、界定变量名 注:花括号内若左侧出现空格,则会当做普通花括号来解析。 二、界定表达式 1.获取字符串中某个字符 如:$strabcdefg; echo $str{0};//a 效果等同于$str[0]; 2.作为表示下标的方法定义数组 如:$arr []; $arr{10}4;…

Linux目录/bin、/sbin、/usr/bin、/usr/sbin的区别

/bin、/sbin、/usr/bin、/usr/sbin目录的区别在linux下我们经常用到的四个应用程序的目录是/bin、/sbin、/usr/bin、/usr/sbin 。而四者存放的文件一般如下:/bin: bin为binary的简写主要放置一些系统的必备执行档例如:cat、cp、chmod df、dmesg、gzip、kill、ls、mk…