编程基本教程改变你代码习惯的ECMAScript.docxVIP

编程基本教程改变你代码习惯的ECMAScript.docx

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
编程基础教程改变你代码习惯的ECMAScriptECMAScript和Javascript的关系1996年11月,Javascript的创造者--Netscape公司,决定将Javascript提交给国际标准化组织ECMA,希望这种语言能够成为国际标准。次年ECMA发布262号标准文件(ECMA-262)的第一版,规定了浏览器脚本语言的标准,并将这种语言叫做ECMAScript。 ECMAScript并不是Javascript的唯一,也不是唯一被标准化的部分。 ECMAScript是Javascript的规格,它描述了语法,类型,语句,关键词,保留字,运算符,对象等,而Javascript是ECMA的一种实现,同时一个完整的Javascript实现由三部分组成:ECMAScript,DOM,BOM。ECMAScript简史1997年,ECMAScript 1.0发布 1998年6月,ECMAScript 2.0发布 1999年13月,ECMAScript 3.0发布,并取得了巨大的成功,奠定了JS的基本语法,直到现在,初学者一开始学习的都是ES3。 2000年,ECMAScript 4.0开始酝酿。 2007年10月,ES4草案发布。 2008年7月,因为其过于激进,对ES3做了彻底的升级,ECMA开会决定终止4.0的开发。 2009年12月,ES5.0发布 2011年6月,ES5.1发布 2013年3月,ES6草案冻结,不再增添新功能,新的功能被加入ES7。 2013年12月,ES6草案发布,进行为期12个月的讨论期 2015年6月,ES6正式通过,成为国际标准,因为其继承了ES4的大部分内容,所以从2000年算起经历了15年。1,转码器:babel和Traceur2,let,const命令和block作用域ES6新增了,let命令,用法类似var,但是所声明的变量只在let命令所在的代码块中有效,if(true){ var a = 10; let b = 9; }1,let不存在变量提升:不会像var一样存在变量赋值先执行,所以let声明变量一定要在使用前就进行声明。2,暂时性死区:只要块级作用域内存在let命令,它所声明的变量就“绑定”在了这个区域不再受外部影响。ES6明确规定,如果块级作用域中存在let和const命令,则这个区块对这些命令声明的变量从一开始就形成封闭作用域。只要声明之前使用这些变量,就会报错。 3,不允许重复声明,let不允许在相同作用域内重复声明同一个变量。ES5只有全局作用域和函数作用域,没有块级作用域,所以就带来了很多不合理的场景。1,内层变量可能会覆盖外层变量2,用来计数的循环变量泄露为全局变量。 let为Javascript新增了块级作用域。ES6允许块级作用域任意嵌套: function test(){{{{{ let a =1; }}}}} 上面的代码用了一个五层的块级作用域,每个外层的作用域无法读取内层作用域的内容。用let定义的作用域是定义他们的区块内,以及包含在这个块中的子块,这点有点像var,但是var定义的变量的作用域是定义他们的函数内。const用来声明常量。一旦声明,其值就无法进行改变,这就意味着const一旦声明常量,就必须立即初始化,不可留到以后赋值。const和let相同,只在声明所在的块级作用域内有效,并且声明的常量不提升,存在暂时性死区,只能在声明后使用,不能重复声明变量。3,解构赋值ES6允许按照一定的模式,从数组和对象中提取值,再对变量进行赋值,这被称为解构。数组结构:demo 对于set结构,也可以使用数组的解构赋值。事实上,只要某种数据结构具有Iterator接口,都可以采用数组形式的结构赋值。 let[ x, y, z ] = new set([“a”,”b”,”c”])对象的解构需要注意,数组结构是按照次序排列的,变量的取值由他的位置决定,而对象的取值没有次序,变量必须与属性同名,才能取到相应的值。var { Oa } = { Oa: 1, Ob: 2 } 如果变量名与属性名不一致。必须写成var { Oa: a } = { Oa: 1, Ob: 2 },这时的Oa是模式,不是变量。对象解构的内部机制,是先找到同名的属性,然后再赋值给相对应的变量。对象解构也可以指定默认值,但是条件是,对象属性严格等于undefined。4,字符串ES6为字符串添加了遍历接口。使字符串可以用for...of循环遍历。at():返回字符串给定位置的字符。一般情况下我们可以使用indexOf来确定一个字符串是否包含在另一个字符串内。es6又为我们提供了三种新方法。includes():返回布尔值,是否找到参数字符串。startsWith():返回布尔值,参数字符串是否在源字

文档评论(0)

wuyoujun92 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档