技术标签: 前端 es6 javascript
- 简介
ES6,全称ECMAScript 6.0,是javaScript的下一个版本标准,发布时间为2015年6月。其出现主要解决了javascript中不足的部分,比如javaScript中没有类这个概念,还有变量的常量的定义不清楚等问题。现如今大部分的浏览器都支持ES6的部分特性。如果你作为一个前端开发者,学习和使用ES6是必要的。
发展历史
javaScript的创造者:网景公司(Netscape)
1997年,js被提交给ECMA标准化组织,称为国际化标准,并命名为ECMAScript。
- let和const
在es5中,我们我们对常量和变量的声明都是用var关键字
在es6中
let,const和var的区别:
let:
用于声明变量,声明的变量只在代码块内有效
{
let a = 0;
}
a // 报错 ReferenceError: a is not defined
在for,当计数器是变量只在for中有效。(适合声明计数器)
不能重复声明变量
let a = 1;
let a = 2;
a // Identifier 'a' has already been declared
不存在变量提升
console.log(a); //ReferenceError: a is not defined
let a = "apple";
const:
var:
声明的变量全局有效
{
var b = 1;
}
b // 1
能够重复声明变量
var b = 3;
var b = 4;
b // 4
存在变量提升
console.log(b); //undefined
var b = "banana";
- 模板字符串
let name = "ariverh";
let age = 22
let info = `my name is ${
name}, I am ${
age} years old`
//my name is ariverh,I am 22 years old
- 函数的默认参数
使用函数的默认参数时,参数名不能重名
当未传递参数或者参数未undefined,会使用默认参数
function sum(a=1,b=2){
return a+b;
}
sum() //3
sum(2,2)//4
sum(4) //6
- 箭头函数
在javascript中的箭头函数和java中的Lamda表达式有相似之处。
- 正常函数
function sum(a,b){
return a+b;
}
var sum = function(a,b){
return a+b;
}
- 箭头函数 多参数多循环体
var sum1 = (a,b) =>{
var c = a+b;
console.log(c);
return c;
};
- 箭头函数 单参数多循环体
var sum2 = a =>{
a = a+1;
console.log(a);
return a;
};
- 箭头函数 单参数单循环体
var sum3 = a => a+1;
- 箭头函数 多参数单循环体
var sum4 = (a,b)=>a+b;
java
- 箭头函数 无参数 单循环体
var sum5 = ()=>1+2;
- 对象的简写
- 传统对象
var name = "ariverh"
var age = 22
var person = {
age: age,
name: name,
say: ()=> console.log(`my name is ${
name},I am ${
age} years old`) //学以致用
}
- es6 对象简写 在对象简写中不能使用箭头函数
var name = "ariverh"
var age = 22
var person1 = {
age,
name,
say(){
console.log(`my name is ${
name},I am ${
age} years old`)
}
}
传统对象:
es6对象:
- 对象解构
let person1 = {
age: 22,
name: "ariverh",
say(){
console.log(`my name is ${
name},I am ${
age} years old`)
} //学以致用
};
let {
age,name,say} = person1;
console.log(age);
say();
- 对象传播操作符
let person1 = {
age: 22,
name: "ariverh",
say(){
console.log(`my name is ${
name},I am ${
this.age} years old`)
} //学以致用
};
let {
age,...person2} = person1;
console.log(age);
console.log(person2);
- 数组map
let persons =[{
age:22,name:"tom"},{
age:21,name:"jeny"},{
age:10,name:"jack"}];
let persons1 = persons.map(function(ele){
ele.age = ele.age +1;
return ele;
});
console.log(persons1);
//[
// { age: 23, name: 'tom' },
// { age: 22, name: 'jeny' },
// { age: 11, name: 'jack' }
//]
- 数组reduce
let arr = [1,2,3,4,5,6,7,8,9,10]
let result = arr.reduce(function(a,b){
return a+b;
});
console.log(result);
//55
-过程:
a = 1, b = 2 ,[3,3,4,5,6,7,8,9,10]
a = 3, b = 3 ,[6,4,5,6,7,8,9,10]
....
result = 55
MFC log4cplus日志库的简单使用例子一、简述 记--log4cplus日志库的简单使用例子,使用log4cplusX.dll和log4cplusX.lib 例子打包:二、获取源码源码下载 https://sourceforge.net/projects/log4cplus/files/log4cplus-stable/例子中下载的是2.0.2,请自行根据需要选择,请留意自己安装的Visual Studi..._mfc log4
2017全国计算机一级MS Office考证常考知识点-高中课件精选.doc高考高中教育2017年计算机一级考试MSOffice高频考点(1)计算机的发展、类型及其应用领域1. 计算机(computer)是一种能自动、高速进行大量算术运算和逻辑运算的电子设备。 其特点为:速度快、精度高、存储容量大、通用性强、具有逻辑判断和自动控制能力。2. 第一台计算机:ENIAC,美国,1946年 宾夕法尼亚大..._高中office基础知识
转自中国经济:转变和对策谢国忠的最新文章,写得太好了!标题尤其好,《政府要做的,就是少从家庭部门刮钱》!我越读越激动,忍不住要长篇转载他的言论。==============================================一、什么是中国发展模式?中国发展模式的核心,就是拉动固定资产投资,短期内对GDP产生巨大的影响。当投...
适用于:有多个以太WAN口的机型。业务需求:运营商1分配的接口IP为100.100.1.2,子网掩码为255.255.255.252,网关IP为100.100.1.1。运营商2分配的接口IP为200.200.1.2,子网掩码为255.255.255.248,网关IP为200.200.1.1。实现通过静态IP双上行接入Internet,链路1和链路2的出口路由采用等价默认路由进行负载...
编程第二题赋值符号写成等号害一生!#include<iostream>#include<algorithm>#include<string>#include<vector>#include<cmath>#include<unordered_map>using namespace std;unordered_m..._华为8月12日笔试
方法一server{ listen 80 ; server_name www.xxx.com xxx.com; index test.html index.html index.htm index.php; #直接放置index下 root /path/to/;}方法二server{ listen 80 ;..._nginx转发到某个页面
【无根树】即无环连通无向图;若一个图中每条边都是无方向的,则称为无向图。无根树它要求每个顶点之间都直接或间接相连,且图中无环,即只有简单路径。由于树是图的子集,这一类图具有树的特征,但不具有树状的形式,没有特定的根节点,故称为无根树。任意选取图中某个点为根,均可将无根树转化为有根树。【代码】#include<bits/stdc++.h>using names..._无根树转化为有根树
其实我们都在一个世界......20120419【小李木耳】 进入种植季,碧水蓝天,下月,鸟语花香,除了生意,他将有许多需要找寻的东东,电话啊、电脑啊、电视啊、除了电灯,其它请都离他远一点吧!他已经错过了好多,就让他慢慢找回来吧。咸菜、粥、馒头的早餐或叫第一餐,挺好;60°的烧酒、6个鸡蛋+3颗大葱、水库的开春鱼、油盐酱醋,两三个人,奢侈啊!林区改造些许有点人为主动改造旧世界的_小李木耳
资料来源:百度技术学院视频:http://bit.baidu.com/course/detail/id/137/column/117.html声明:博主只是将资料中的视频整理为图片,在某些地方稍作编辑,为了方便查阅而已。本文绝大部分的智力产出都来源于视频资料。推荐看视频资料以获得更多内容。一、数据预处理二、假设函数三、损失函数四、梯度...
rebalance 用于将集群中的分片进行均衡,保持各个节点的分片数量大致相等,当集群扩容或缩容,掉一个节点的时候,这过程会自动完成。直观的感觉他应该是在后台默默干活的过程,最多占用带宽和磁盘 io 资源,应该感受不到他的存在,但实际情况是,他可能引起一些意想不到的问题。这篇文章主要思考分片 relocating 对集群会有哪些影响(基于 v7.7),有下面几个。shard-started RPC 会抢占较多的 master 处理时间分片移动结束后,target 节点会向 master 发起一个 sh_es relocating
分别表示允许上传的文件类型。_ts 上传文件
用systick计数器做delay函数易出现的错误一则 今天在调试程序过程中,发现以前用的好好的delay函数突然不准了,一开始怎么也没有怀疑到delay函数的问题,先贴代码://主函数里用到了delay函数void main(){ if(flag==1) { Delay_Ms(1000); flag=0; _stm32 delayms函数无效