`
yao_zonghai
  • 浏览: 9177 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ECMAScript6 入门

阅读更多

https://www.cnblogs.com/itlkNote/p/6830682.html

https://www.cnblogs.com/meteorcn/p/node_mianshiti_interview_question.html

阮一峰

http://es6.ruanyifeng.com/

http://www.ruanyifeng.com/

http://www.w3school.com.cn/js/index.asp

https://www.w3schools.com/default.asp

 

块作用域

    ES6 的块级作用域必须有大括号

    函数只能声明在当前作用域的顶层

6 种声明变量的方法    

    var,function,let,const,import,class    

var "变量提升",变量泄露为全局变量

let 用来声明变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效

    "暂时性死区"

    不允许重复声明,内层作用域可以定义外层作用域的同名变量

const 声明一个只读的常量。一旦声明,常量的值就不能改变

    立即初始化,不能留到以后赋值

    const的作用域与let命令相同:只在声明所在的块级作用域内有效。

    命令声明的常量也是不提升,同样存在暂时性死区,只能在声明的位置后面使用

    不可重复声明

    保证的并不是变量的值不得改动,而是变量指向的那个内存地址所保存的数据不得改动(如果是一个对象/数组,则对象内部可以改变)

    对象冻结Object.freeze

function 立即执行函数表达式(IIFE)不再必要了

    ES5

        允许在块级作用域内声明函数。

        函数声明类似于var,即会提升到全局作用域或函数作用域的头部。

        同时,函数声明还会提升到所在的块级作用域的头部。

    ES6 

        块级作用域的函数声明当作let处理

        块级作用域之中,函数声明语句的行为类似于let,在块级作用域之外不可引用

globalThis ES5 之中,顶层对象的属性与全局变量是等价的

    浏览器 顶级对象 window/self

    Web Worker 顶级对象 self

    Node 顶级对象 global

    ALL 顶级对象 globalThis

 

"解构赋值","模式匹配" 

    数组的解构赋值

    只要等号两边的模式相同,左边的变量就会被赋予对应的值let [x,y] = ['a','b'];

        解构不成功,变量的值就等于undefined

        不完全解构,即等号左边的模式,只匹配一部分的等号右边的数组

        只要某种数据结构具有 Iterator 接口,都可以采用数组形式的解构赋值

        当一个数组成员严格等于undefined,默认值才会生效let [x = 1] = [undefined];

        默认值是一个表达式,那么这个表达式是"惰性求值"的,即只有在用到的时候,才会求值。

    对象的解构赋值

        数组的元素是按次序排列的,变量的取值由它的位置决定;而对象的属性没有次序,变量必须与属性同名,才能取到正确的值

        解构赋值的内部机制,是先找到同名属性,然后再赋给对应的变量

        会将{x}理解成一个代码块,从而发生语法错误。只有不将大括号写在行首,避免 JavaScript 将其解释为代码块

        数组本质是特殊的对象,因此可以对数组进行对象属性的解构

    字符串的解构赋值 const [a, b, c, d, e] = 'hello';

        字符串被转换成了一个类似数组的对象

        类似数组的对象都有一个length属性,因此还可以对这个属性解构赋值

    数值和布尔值的结构赋值

        只要等号右边的值不是对象或数组,就先将其转为对象

        由于undefined和null无法转为对象,所以对它们进行解构赋值,都会报错

    函数参数的解构赋值

    圆括号问题

        解构赋值虽然很方便,但是解析起来并不容易

        一个式子到底是模式,还是表达式,没有办法从一开始就知道,必须解析到(或解析不到)等号才能知道

        只要有可能导致解构的歧义,就不得使用圆括号

        不能使用圆括号的情况

            变量声明语句

            函数参数

            赋值语句的模式

        可以使用圆括号的情况

            赋值语句的非模式部分,可以使用圆括号

    用途

        交换变量的值

        从函数返回多个值

        函数参数的定义

        提取 JSON 数据

        函数参数的默认值

        遍历 Map 结构

        输入模块的指定方法

    

String 基础

    String 属性

    String 方法

        charAt()            指定索引处的字符

        charCodeAt()        返回一个数字,表示给定索引处的字符的Unicode值

        indexOf()            返回指定值的第一次出现的调用String对象中的索引,或如果没有找到-1

        lastIndexOf()        返回指定的值最后一次出现的调用String对象中的索引,或如果没有找到-1

        localeCompare()        返回一个数字表示参考字符串是否到来之前或之后或相同的排序顺序给定的字符串:0 相同,-1参数值排序后,1参数值排序前

 

        toLocaleLowerCase()    转换为小写,同时尊重当前的语言环境

        toLocaleUpperCase()    换为大写,同时尊重当前的语言环境

        toLowerCase()        转换为小写

        toUpperCase()        转换为大写

 

        split()                通过分离串入子拆分一个String对象到字符串数组

        slice()                提取字符串的一部分,并返回一个新的字符串,string.slice( beginslice [, endSlice] )

                            作为一个负指数,endSlice表示从字符串末尾的偏移                    

        substr()            返回基于给定参数的新的子字符串,string.substr(start[, length]),index从0到length-1

        substring()            返回基于给定参数的新的子字符串,string.substring(indexA, [indexB]),index从0到length-1

 

        toString()            指定对象的字符串

        valueOf()            返回指定对象的原始值

 

        concat()            结合两个或多个字符串,并返回一个新字符串

        match()                用于匹配的字符串正则表达式

        replace()            用于查找一个正则表达式和一个字符串之间的匹配,并用新的子替换匹配的子串

        search()            执行搜索的正则表达式和指定的字符串之间的匹配

    String HTML 包装器    

        anchor()    超文本目标的HTML锚    a+name

        link()        超文本链接            a+src

        big()        大的字体            big

        small()        小的字体            small

        bold()        粗体                b

        italics()    斜体                i

        sub()        下标                sub

        sup()        上标                sup

        strike()    删除线                strike    

        fontcolor()    指定的颜色            font+color

        fontsize()    指定的字体大小        font+size

        fixed()        固定间距字体        tt

        blink()        闪烁,已废弃            blink

 

 

String扩展

    

        

Iterator 

Generator     

 

ES5 只有全局作用域和函数作用域

ES6 +块级作用域

分享到:
评论

相关推荐

    《ECMAScript 6 入门-阮一峰》PDF完整版

    阮一峰先生的《ECMAScript 6 入门》是一本深入浅出介绍这一版本的权威指南。** 在ES6中,最重要的特性之一是类(Class)和模块(Module)。类的引入使得面向对象编程更加直观,它通过`class`关键字定义,提供了构造...

    ECMAScript 6 入门(第三版)

    **ECMAScript 6 入门(第三版)** ECMAScript 6,通常被称为ES6,是JavaScript语言的一个重大更新,它引入了一系列新的特性和语法改进,旨在提高开发效率和代码可读性。这本书“ECMAScript 6 入门(第三版)”为...

    ECMAScript 6 入门(第三版 )

    **ECMAScript 6 入门(第三版)** ECMAScript 6,简称ES6,是JavaScript语言的一个重大更新版本,正式名称为ECMAScript 2015。这个版本引入了大量的新特性,旨在提高开发效率、增强代码可读性和可维护性,以及为...

    ecmascript 6 入门.pdf

    阮一峰所著的《ECMAScript 6 入门》是一本开源的JavaScript语言教程,详细介绍了ES6的新特性。本书适合有一定JavaScript基础的中级读者,旨在帮助他们了解这门语言的最新发展,也可以作为参考手册来查找新增的语法点...

    《ECMAScript 6 入门》 Javascript nodejs 教程 阮一峰 带书签

    《ECMAScript 6 入门》是阮一峰编写的JavaScript编程教程,专注于介绍ECMAScript 6(也称为ES6或ES2015)的新特性和语法改进。这本书是JavaScript开发者深入理解现代JavaScript编程的基础读物,特别适合已经掌握基本...

    ECMAScript 6 入门.epub

    《ECMAScript 6 入门》是一本开源的 JavaScript 语言教程,全面介绍 ECMAScript 6 新引入的语法特性。 本书覆盖 ES6 与上一个版本 ES5 的所有不同之处,对涉及的语法知识给予详细介绍,并给出大量简洁易懂的示例...

    ECMAScript 6入门 第二版 阮一峰 完整版

    阮一峰老师的《ECMAScript 6入门 第二版》是一本全面介绍这些新特性的权威指南。这本书详细讲解了ES6的关键知识点,为开发者提供了深入理解这一现代JavaScript版本的基础。** **1. **`let` 和 `const` 声明**:**在...

    ECMAScript 6 入门第三版.epub完整版电子版.zip

    一本开源的JavaScript语言教程ECMAScript 6入门,本版本为第三版,格式为.epub,需要使用专用的阅读器来打开。本教程全面介绍了ECMAScript新加入的语法及特征。带有目录阅读起来更方便,由于阅读级别为中级,所以只...

    ECMAScript 6 入门 (最新版)

    阮一峰老师著作,最新版epub格式电子书,在线地址:http://es6.ruanyifeng.com/,请支持纸质正版

    阮一峰ECMAScript6入门 高清完整.pdf版下载

    阮一峰ECMAScript6入门.pdf,本书力争覆盖ES6与ES5的所有不同之处,对涉及的语法知识给予详细介绍,并给出大量简洁易懂的示例代码。 本书为中级难度,适合已有一定JavaScript语言基础的读者,用来了解这门语言的最新...

    ECMAScript 6入门.pdf

    了解ECMAScript 6的入门知识,首先需要明白ECMAScript和JavaScript之间的关系。ECMAScript是JavaScript的语言规格,它定义了这门语言的语法和基本对象规范。JavaScript是ECMAScript的一个具体实现,事实上,它是最...

    2018最新高清ECMAScript 6入门

    《2018最新高清ECMAScript 6入门》是一份全面介绍ECMAScript 6(ES6)的离线学习资料,由知名技术作者阮一峰编写。这份资源旨在帮助开发者掌握JavaScript语言的新特性,提升编程效率和代码质量。ES6,全称ECMAScript...

    ECMAScript6入门 阮一峰 第三版

    ES6是下一代JavaScript语言标准的统称,每年6月发布一次修订版,迄今为止已经发布了3个版本,分别是ES2015、ES2016、ES2017。《ES6标准入门(第3版)》根据ES2017标准,详尽介绍了所有新增的语法,对基本概念、设计...

    ECMAScript 6入门 高清版.pdf

    编辑推荐 √ 横跨ES2015/2016/2017新标,抢占JavaScript制高点 √ 由千万级名博、布道引领无数前端入行的阮一峰执笔 √ 来自BAT一线实践,精彩案例透彻解读新标|保留语法 √ 新标首著,凝结多年研究心得,剖析ES理解...

    ECMAScript 6入门 第二版 阮一峰 pdf高清完整版

    **ECMAScript 6入门 第二版 阮一峰 pdf高清完整版** ECMAScript 6(简称ES6)是JavaScript语言的一个重要版本更新,它引入了大量的新特性和改进,旨在提高开发效率和代码质量。这本书《ECMAScript 6入门 第二版》由...

    ECMAScript 6入门 第二版 PDF+ epub

    **ECMAScript 6入门**,也常被称为ES6,是JavaScript语言的一个重大更新,它在2015年被标准化并引入了一系列新的特性和改进,极大地提升了开发者的编程效率和代码质量。这本书《ECMAScript 6入门 第二版》由知名技术...

    ECMAScript6入门.zip

    《ECMAScript 6入门》是一本开源的JavaScript语言教程,全面介绍ECMAScript 6新引入的语法特性。 本书力争覆盖ES6与ES5的所有不同之处,对涉及的语法知识给予详细介绍,并给出大量简洁易懂的示例代码。 本书为中级...

    ECMAScript 6入门 第二版 阮一峰 pdf完整版

    ECMAScript 6入门书籍的作者阮一峰,是一名知名的前端技术专家,他的书籍详细介绍了ES6的各个新特性,并且在讲解的过程中辅以大量的示例代码,使得读者能够更加容易地理解和掌握这些新特性。本书适合已经了解ES5的...

Global site tag (gtag.js) - Google Analytics