ES6 基本语法:
ES6.基本语法
* ES6可以使用=>作为函数表达形式,简单的风格: 参数 + => +函数体;
* 在JS中是以var定义一个变量 ,在ES6中是以let定义变量;
let 和 var 区别:
A. var 声明变量,其作用域为局所在的函数内,且存在变量提升现像;
B. left 申明变量,其作用域为改语句所在的代码内,不存在变量的提升;
// var 的情况
console.log(foo); // 输出undefined
var foo = ; // let 的情况
console.log(bar); // 报错ReferenceError
let bar = ;
没有变量提升
C. let 不允许重复申明;
function num (){
let pp = w;
let pp= w;
}
// 会报错
* 箭头函数中的this指的不是window,是对象本身;
* 箭头函数的特性:
A。 箭头函数时匿名函数,自身没有this和arguments,它的this 从上下文捕获而来;
B。 箭头函数不能作为构造函数,和new 一起用就会抛出错误;
C。 箭头函数没有原型属性(prototype);
D. 箭头函数不能当做Generator 函数,不能使用Yield关键字;
* var let const(控制台):
a. ES6在函数中使用let定义变量;
b. const 用来声明一个常量(值类似值不能改变,引用类型地址不能改变)
c. let和const只在最近的一个快中(话括号)中有效;
* 对象字面量的扩展:
a, 可以在对象字面量里面定义原型:
b. 定义方法可以不用function关键字:
c. 直接调用父类方法;
* ES6中提供了用反引号 ` 来创建字符串,里面可包含${...}等;
* ltertors(迭代器);
ES6 中可以通过symbol.iterartor给对象设置默认的浏览器,
直到状态为true退出;
* ES6中非常关注的一个功能,能够在函数中间暂停,一次和多次,
并且之后恢复执行,在他暂停期间允许其他代码执行,并可以用其实现异步:
* Map + Set + WeakMap + Weaket:
a. Set 对象是一组不重复的值,重复的值将被忽略,值类型可以是原始类型和引用类型;
B. WeakSet 是一中弱引用,同理WeakMap:
* proxies:
proxy可以监听对象身上发生了什么事,并在这点事情发生后执行一点相应的操作;
* Symbols:
Symbol 是一中新的数据类型,他的值是唯一的,不可改变的,
Es6 中提出Symbol的目的是为生成了一个唯一的标示符,不过访问不到这个标示符;
{如果需要获取对象Symbol属性,需要使用Object.getOwnPropertymbols(0)}
* promises:
a. ES6 中对,promises有了原声的支持,一个promise是一个等待异步执行的对象,当他执行完成后,
其状态会变成resolved或者是rejected;
b. promises是处理异步操作的一种模式,之前在很多三方库中有实现,
* const声明:
const引入了常量的概念。常亮一般为固定的值是不能改变的,(常量不能改变)
但是const不能修改的是这个值的引用空间。
A。 箭头函数时匿名函数,自身没有this和arguments,它的this 从上下文捕获而来;
B。 箭头函数不能作为构造函数,和new 一起用就会抛出错误;
C。 箭头函数没有原型属性(prototype);
D. 箭头函数不能当做Generator 函数,不能使用Yield关键字;
按位运算符:
| 操作符 | 使用 | 描述 |
|---|---|---|
| A位与 | a & b | 返回两个操作数的相应位为1的每个位的位置 |
| 位或 | a | b | 返回每个位的位置,其中一个或两个操作数的相应位为1 |
| 位亦或 | a^b | 在每个位的位置返回一个,但不是两个操作数的相应位都是1 |
| 位取反 | ~ a | 反转其操作数的位 |
| 左移位 | a << b | 将b的二进制表示b(<32)位左移,右移0位 |
| 右移位 | a >> b | 将b的二进制表示b(<32)位向右移位,丢弃关闭的位 |
| 0填充右移位 | a >>> b | 将二进制表示b(<32)位向右移位,丢弃移位的位,并从左移零 |
事件:
| 属性 | 值 | 描述 |
|---|---|---|
| offline | script | 文档脱机时触发 |
| onabort | script | 触发中止事件 |
| onafterprint | script | 打印文档后触发 |
| onbeforeonload | script | 在文档加载之前触发 |
| onbeforeprint | script | 在打印文档之前触发 |
| onblur | script | 当窗口失去焦点时触发 |
| oncanplay | script | 触发媒体可以开始播放,但可能不得不停止缓冲 |
| oncanplaythrough | script | 当媒体可以播放到最后时触发,而不停止缓冲 |
| onchange | script | 元素更改时触发 |
| onclick | script | 触发鼠标点击 |
| oncontextmenu | script | 触发上下文菜单时触发 |
| ondblclick | script | 触发鼠标双击 |
| ondrag | script | 当元素被拖动时触发 |
| ondragend | script | 在拖动操作结束时触发 |
| ondragenter | script | 当元素被拖动到有效的放置目标时触发 |
| ondragleave | script | 元素离开有效放置目标时触发 |
| ondragover | script | 当元素被拖拽到有效的放置目标上时触发 |
| ondragstart | script | 在拖动操作开始时触发 |
| ondrop | script | 拖动元素被删除时触发 |
| ondurationchange | script | 当媒体长度改变时触发 |
| onemptied | script | 媒体资源元素突然变空时触发 |
| onended | script | 当媒体已经结束时触发 |
| onerror | script | 发生错误时触发 |
| onfocus | script | 窗口获得焦点时触发 |
| onformchange | script | 当表单更改时触发 |
| onforminput | script | 当表单获得用户输入时触发 |
| onhaschange | script | 当文档发生变化时触发 |
| oninput | script | 元素获取用户输入时触发 |
| oninvalid | script | 元素无效时触发 |
| onkeydown | script | 按下某个键时触发 |
| onkeypress | script | 当按下并释放按键时触发 |
| onkeyup | script | 触发键释放时 |
| onload | script | 文档加载时触发 |
| onloadeddata | script | 媒体数据加载时触发 |
| onloadedmetadata | script | 当媒体元素的持续时间和其他媒体数据加载时触发 |
| onloadstart | script | 当浏览器开始加载媒体数据时触发 |
| onmessage | script | 触发消息时触发 |
| onmousedown | script | 当按下鼠标按钮时触发 |
| onmousemove | script | 当鼠标指针移动时触发 |
| onmouseout | script | 当鼠标指针移出元素时触发 |
| onmouseover | script | 当鼠标指针移到元素上时触发 |
| onmouseup | script | 当鼠标按钮被释放时触发 |
| onmousewheel | script | 鼠标滚轮旋转时触发 |
| onoffline | script | 当文档脱机时需要更新 |
| ononline | script | 文档联机时触发 |
| onpagehide | script | 窗口隐藏时触发 |
| onpageshow | script | 当窗口变得可见时触发 |
| onpause | script | 媒体数据暂停时触发 |
| onplay | script | 媒体数据开始播放时触发 |
| onplaying | script | 媒体数据开始播放时触发 |
| onpopstate | script | 当窗口的历史更改时触发 |
| onprogress | script | 当浏览器获取媒体数据时触发 |
| onratechange | script | 当媒体数据的播放速率发生变化时触发 |
| onreadystatechange | script | 当就绪状态改变时触发 |
| onredo | script | 当文档执行重做时触发 |
| onresize | script | 窗口大小调整时触发 |
| onscroll | script | 触发元素的滚动条滚动时 |
| onseeked | script | 当媒体元素的seek属性不再成立并且搜索结束时触发 |
| onseeking | script | 当媒体元素的seek属性为true并且搜索已经开始时触发 |
| onselect | script | 当选择一个元素时触发 |
| onstalled | script | 在获取媒体数据时发生错误时触发 |
| onstorage | script | 文档加载时触发 |
| onsubmit | script | 提交表单时触发 |
| onsuspend | script | 在浏览器获取媒体数据时触发,但在获取整个媒体文件之前停止 |
| ontimeupdate | script | 当媒体改变其播放位置时触发 |
| onundo | script | 当文档执行撤消时触发 |
| onunload | script | 当用户离开文档时触发 |
| onvolumechange | script | 在介质更改音量时触发,也在音量设置为“静音”时触发 |
| onwaiting | script | 当媒体停止播放时触发,但预计会恢复 |
时间:
| 序号 | 方法 & 描述 |
|---|---|
| 1 | Date()返回今天的日期和时间 |
| 2 | getDate()根据当地时间返回指定日期的月份的某一天 |
| 3 | getDay()根据当地时间返回指定日期的星期几 |
| 4 | getFullYear()根据当地时间返回指定日期的年份 |
| 5 | getHours()根据当地时间返回指定日期的小时数 |
| 6 | getMilliseconds()根据当地时间返回指定日期的毫秒数 |
| 7 | getMinutes()根据当地时间返回指定日期的分钟数 |
| 8 | getMonth()根据当地时间返回指定日期中的月份 |
| 9 | getSeconds()根据当地时间返回指定日期的秒数 |
| 10 | getTime()返回指定日期的数值作为自1970年1月1日,00:00 UTC以来的毫秒数 |
| 11 | getTimezoneOffset()以分钟为单位返回当前语言环境的时区偏移量 |
| 12 | getUTCDate()根据通用时间返回指定日期中月份的日期(日期) |
| 13 | getUTCDay()根据通用时间返回指定日期中的星期几 |
| 14 | getUTCFullYear()根据通用时间返回指定日期的年份 |
| 15 | getutcHours()根据通用时间返回指定日期的小时数 |
| 16 | getUTCMilliseconds()根据通用时间返回指定日期的毫秒数 |
| 17 | getUTCMinutes()根据通用时间返回指定日期的分钟数 |
| 18 | getUTCMonth()根据通用时间返回指定日期中的月份 |
| 19 | getUTCSeconds()根据通用时间返回指定日期的秒数 |
| 20 | setDate()根据当地时间设置指定日期的月份的日期 |
| 21 | setFullYear()根据当地时间设置指定日期的全年 |
| 22 | setHours()根据当地时间设置指定日期的小时数 |
| 23 | setMilliseconds()根据当地时间设置指定日期的毫秒数 |
| 24 | setMinutes()根据当地时间设置指定日期的分钟数 |
| 25 | setMonth()根据当地时间设置指定日期的月份 |
| 26 | setSeconds()根据当地时间设置指定日期的秒数 |
| 27 | setTime()将Date对象设置为自1970年1月1日,UTC时间00:00:00以毫秒为单位表示的时间 |
| 28 | setUTCDate()将Date对象设置为自1970年1月1日,UTC时间00:00:00以毫秒为单位表示的时间 |
| 29 | setUTCFullYear()根据通用时间设置指定日期的全年 |
| 30 | setUTCHours()根据通用时间设置指定日期的小时数 |
| 31 | setUTCMilliseconds()根据通用时间设置指定日期的毫秒数 |
| 32 | setUTCMinutes()根据通用时间设置指定日期的分钟数 |
| 33 | setUTCMonth()根据通用时间设置指定日期的月份 |
| 34 | setUTCSeconds()根据通用时间设置指定日期的秒数 |
| 35 | todatestring()返回Date的“date”部分作为可读的字符串 |
| 36 | toLocaleDateString()使用当前语言环境的约定,将日期的“日期”部分作为字符串返回 |
| 37 | toLocaleString()使用当前语言环境的约定将日期转换为字符串 |
| 38 | toLocaleTimeString()使用当前语言环境的约定,将日期的“时间”部分作为字符串返回 |
| 39 | toString()返回表示指定Date对象的字符串 |
| 40 | toTimeString()返回Date的“时间”部分作为可读的字符串 |
| 41 | toUTCString()使用通用时间约定将日期转换为字符串 |
| 42 | valueOf()返回Date对象的原始值 |
ES6 基本语法:的更多相关文章
- ES6常用语法
ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准.因为当前版本的ES6是在2015年发布的,所以又称ECMAScript 2015. 也就是说,ES6就是ES2015. ...
- ECMAScript简介以及es6新增语法
ECMAScript简介 ECMAScript与JavaScript的关系 ECMAScript是JavaScript语言的国际化标准,JavaScript是ECMAScript的实现.(前者是后者的 ...
- ES6新语法
ES6新语法概览 简介 ES6是JavaScript语言的新一代标准,加入了一些新的功能和语法,正式发布于2015年6月,亦称ES2015:该标准由ECMA(欧洲计算机制造联合会)的第39号技术专家委 ...
- ES6新语法的介绍
对于ES6新语法,阮一峰有一篇文章介绍的挺详细 http://es6.ruanyifeng.com/#docs/destructuring
- ES6最新语法
ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准.因为当前版本的ES6是在2015年发布的,所以又称ECMAScript 2015. 也就是说,ES6就是ES2015. ...
- ES6新语法之let关键字;有别于传统关键字var的使用
ES6新语法于2015年发布:而我这个前端小白在17年才接触到.惭愧惭愧!!不过到目前为止,似乎只有FireFox和Chrome对ES6的支持相对良好.不过既然人家ES6已经出来了,还是要跟上技术的潮 ...
- 让 Node.js 支持 ES6 的语法
为了让 Node.js 支持 ES6 的语法, 需要使用 Babel. 安装 es-checker 在使用 Babel 之前 , 我们先检测一下当前 node 对 es6 的支持情况. 在命令行下执行 ...
- Vue(1)- es6的语法、vue的基本语法、vue应用示例,vue基础语法
一.es6的语法 1.let与var的区别 ES6 新增了let命令,用来声明变量.它的用法类似于var(ES5),但是所声明的变量,只在let命令所在的代码块内有效.如下代码: { let a = ...
- JavaScript ES6部分语法
ES6是JavaScript语言的新版本,它也可以叫做ES2015,之前学习的JavaScript属于ES5,ES6在它的基础上增加了一些语法,ES6是未来JavaScript的趋势,而且vue组件开 ...
- ES6常用语法简介import export
ES6常用语法简介import export let与var用法区别 //var var a = []; for (var i = 0; i < 10; i++) { a[i] = functi ...
随机推荐
- [ES6系列-02]Arrow Function:Whats this?(箭头函数及它的this及其它)
[原创] 码路工人 大家好,这里是码路工人有力量,我是码路工人,你们是力量. 如果没用过CSharp的lambda 表达式,也没有了解过ES6,那第一眼看到这样代码什么感觉? /* eg.0 * fu ...
- Java中的集合(十一) 实现Map接口的TreeMap
Java中的集合(十一) 实现Map接口的TreeMap 一.TreeMap简介(基于JDK1.8) TreeMap是基于红黑树数据结构,是一个key-value的有序集合,该映射根据其键的自然顺序进 ...
- (九)显示交易记录 &解决相对路径问题
UserServlet.java package com.aff.bookstore.servlet; import java.io.IOException; import javax.servlet ...
- no-strings-attached
0x01 拿到程序,直接IDA放进去看一下,结果如图: 我们发现main中有四个函数,我们一个一个进去,经过分析之后,发现authenticate();是关键函数,所以,接下来我们进去看看. void ...
- 前后端分离,如何在前端项目中动态插入后端API基地址?(in docker)
开门见山,本文分享前后端分离,容器化前端项目时动态插入后端API基地址,这是一个很赞的实践,解决了前端项目容器化过程中受制后端调用的尴尬. 尴尬从何而来 常见的web前后端分离:前后端分开部署,前端项 ...
- 实战| 配置DataDog监控Apache Hudi应用指标
1. 可用性 在Hudi最新master分支,由Hudi活跃贡献者Raymond Xu贡献了DataDog监控Hudi应用指标,该功能将在0.6.0 版本发布,也感谢Raymond的投稿. 2. 简介 ...
- Java实现 LeetCode 805 数组的均值分割 (DFS+分析题)
805. 数组的均值分割 给定的整数数组 A ,我们要将 A数组 中的每个元素移动到 B数组 或者 C数组中.(B数组和C数组在开始的时候都为空) 返回true ,当且仅当在我们的完成这样的移动后,可 ...
- Java实现 LeetCode 467 环绕字符串中唯一的子字符串
467. 环绕字符串中唯一的子字符串 把字符串 s 看作是"abcdefghijklmnopqrstuvwxyz"的无限环绕字符串,所以 s 看起来是这样的:"-zabc ...
- Java实现 LeetCode 5355 T 秒后青蛙的位置
5355. T 秒后青蛙的位置 给你一棵由 n 个顶点组成的无向树,顶点编号从 1 到 n.青蛙从 顶点 1 开始起跳.规则如下: 在一秒内,青蛙从它所在的当前顶点跳到另一个 未访问 过的顶点(如果它 ...
- Java实现第八届蓝桥杯图形排版
标题:图形排版 小明需要在一篇文档中加入 N 张图片,其中第 i 张图片的宽度是 Wi,高度是 Hi. 假设纸张的宽度是 M,小明使用的文档编辑工具会用以下方式对图片进行自动排版: 1. 该工具会按照 ...