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 ...
随机推荐
- Java多线程--synchronized的用法
全面介绍Synchronized:https://blog.csdn.net/luoweifu/article/details/46613015 synchronized class/this/obj ...
- nginx 搭建图片服务器(windows 下,linux 下原理应该一样)
作者的心声:很多知道的.用过的东西,不写下来,下次还要百度查询,浪费时间和精力,故本次写下学习笔记,方便下次查阅. 题外话:如有读者通过我这篇博客解决了工作上的难题,可以给个评论,让我一起分享你的喜悦 ...
- tomcat漏洞利用总结
一.后台war包getshell 漏洞利用: tomcat在conf/tomcat-users.xml配置用户权限 <?xml version="1.0" encoding= ...
- 透过 NestedScrollView 源码解析嵌套滑动原理
NestedScrollView 是用于替代 ScrollView 来解决嵌套滑动过程中的滑动事件的冲突.作为开发者,你会发现很多地方会用到嵌套滑动的逻辑,比如下拉刷新页面,京东或者淘宝的各种商品页面 ...
- 04 . Mysql主从复制和读写分离
Mysql AB复制 AB复制又称之为主从复制,用于实现数据同步,实现Mysql的AB复制时,数据库的版本尽量保持一致,如果不能保持一致,最起码从服务器的版本要高于主服务器,但是就无法实现双向复制 ...
- Rocket - debug - TLDebugModuleInner - HARTINFO
https://mp.weixin.qq.com/s/9GjZAax0SZhRqLne16jn-w 简单介绍TLDebugModuleInner中HARTINFO寄存器的实现. 1. HARTINFO ...
- 第八届蓝桥杯JavaC组国(决)赛真题
解题代码部分来自网友,如果有不对的地方,欢迎各位大佬评论 题目1.数位和 题目描述 数学家高斯很小的时候就天分过人.一次老师指定的算数题目是:1+2+-+100. 高斯立即做出答案:5050! 这次你 ...
- Java实现蓝桥杯正则切分
java中提供了对正则表达式的支持. 有的时候,恰当地使用正则,可以让我们的工作事半功倍! 如下代码用来检验一个四则运算式中数据项的数目,请填写划线部分缺少的代码. 注意:只填写缺少代码,不要写任何多 ...
- Java实现LeetCode 110. Balanced Binary Tree
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * Tre ...
- snowflake原理解析
Snowflake 世界上没有两片完全相同的雪花. - twitter Snowflake原理 这种方案把64-bit分别划分成多段,分开来标示机器.时间等,比如在snowflake中的64-bi ...