ES6 基本语法:
ES6.基本语法
* ES6可以使用=>作为函数表达形式,简单的风格: 参数 + => +函数体;
* 在JS中是以var定义一个变量 ,在ES6中是以let定义变量;
let 和 var 区别:
A. var 声明变量,其作用域为局所在的函数内,且存在变量提升现像;
B. left 申明变量,其作用域为改语句所在的代码内,不存在变量的提升;
1 // var 的情况 2 console.log(foo); // 输出undefined 3 var foo = 2; 4 5 // let 的情况 6 console.log(bar); // 报错ReferenceError 7 let bar = 2; 8 没有变量提升
C. let 不允许重复申明;
1 function num (){ 2 let pp = w; 3 let pp= w; 4 } 5 // 会报错
* 箭头函数中的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() |