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 ...
随机推荐
- c# 优化代码的一些规则——使用is或as和强制类型转换的区别[三]
前言 使用as和强制类型转换的时候的区别是否仅仅是代码形式上的区别. 答案是肯定不是的. 正文 看两段代码: object o = Factory.GetObject(); Student stude ...
- .Net Core之仓储(Repository)模式
我们经常在项目中使用仓储(Repository)模式,来实现解耦数据访问层与业务层.那在.net core使用EF core又是怎么做的呢? 现在我分享一下我的实现方案: 一.在领域层创建Reposi ...
- [JavaWeb基础] 021.Action中result的各种转发类型
在struts2中, struts.xml中result的类型有多种,它们类似于struts1中的forward,常用的类型有dispatcher(默认值).redirect.redirectActi ...
- C++ 海量代码 排查内存/GDI泄漏历程
排查分两大部分: 1.代码静态分析,通过Code Review查找不合规范的代码点: 2.运行目标软件,结合内存监控工具,分析目标软件的代码,定位内存泄漏点. 目前能找到的代码静态分析软件:Cover ...
- Rocket - debug - Example: Accessing Registers Using Abstract Command
https://mp.weixin.qq.com/s/RdJzE06mMkh2x__vVj_fEA 介绍riscv debug接口的使用实例:使用抽象命令读取寄存器. 1. Read s0 using ...
- 【jQuery】全功能轮播图的实现(本文结尾也有javascript版)
轮播图 图片自动切换(定时器): 鼠标悬停在图片上图片不切换(清除定时器) 鼠标悬停在按钮上时显示对应的图片(鼠标悬停事件) 鼠标悬停在图片上是现实左右箭头 点击左键切换到上一张图片,但图片为第一张时 ...
- Redis 入门到分布式 (一)Redis初识
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 一.Redis特性目录 Redis的特性: 速度快 持久化 多种数据结构 支持多种编辑语言 功能丰富 简 ...
- Qcom rampdump解析工具使用
使用如下命令获取qcom工具: ljj@ljj-ThinkCentre-M83:~/git/qcom_tools/ramdump$ git clone git://codeaurora.org/qui ...
- Java实现 LeetCode 430 扁平化多级双向链表
430. 扁平化多级双向链表 您将获得一个双向链表,除了下一个和前一个指针之外,它还有一个子指针,可能指向单独的双向链表.这些子列表可能有一个或多个自己的子项,依此类推,生成多级数据结构,如下面的示例 ...
- Java实现 LeetCode 112 路径总和
112. 路径总和 给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和. 说明: 叶子节点是指没有子节点的节点. 示例: 给定如下二叉树,以及目标 ...