1.var let const
var---变量,重复定义不报错,没有块级作用域,不能限制修改
if(12>5){
var a=12;
}
alert(a); //弹出12 let---变量,重复定义报错,有块级作用域,可以限制修改 if(12>5){
let a=12;
}
alert(a); //报错,let有块级作用域的概念,只在if代码段内有效 <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script>
window.onload=function(){
var aBtn=document.getElementsByTagName('input'); for(let i=0;i<aBtn.length;i++){
aBtn[i].onclick=function(){
alert(i);
}
}
}
</script>
</head>
<body>
<input type="button" name="" value="a">
<input type="button" name="" value="b">
<input type="button" name="" value="c">
</body>
</html>
三个按钮分别输出0,1,2 const---常量,重复定义报错,有块级作用域,可以限制修改 const a=12;
a=5;
alert(a); //报错,const是常量,不能修改
2.箭头函数
只有一个参数,()可以省
只有一个语句,还是return,{}可以省 一、把function去掉,加上=>
function (a,b,c){
//代码
} (a,b,c)=>{
//代码
}
二、示例
function show(fn){
fn(12,5);
} show((a,b)=>{
alert(a*b);
})
三、只有一个参数,()可以省
let show=a=>{
alert(a)
}
show(5);
四、只有一个语句,还是return,{}可以省
let sum=(a,b)=>a+b;
alert(sum(1,2));
五、实现排序
let arr=[2,5,4,1,9,6];
arr.sort((a,b)=>a-b);
alert(arr);
3.参数扩展(...arg)
function show(a,b,...arg){
alert(arg);
} show(1,2,3,4,5,6); ///3,4,5,6 注意:...arg只能放在参数的最后一个
function show(a,b,...arg,c){
alert(arg);
} show(1,2,3,4,5,6); //报错,...arg没有放在参数的最后一个
4.展开数组
一、采用...arg,数组展开为1,2,3
let arr=[1,2,3];
function sum(a,b,c){
alert(a+b+c);
} sum(...arr); //6
二、展开数组,并连接数组
let arr1=[1,2,3];
let arr2=[4,5,6]; let arr=[...arr1,...arr2];
alert(arr); //1,2,3,4,5,6
5.数组map方法(映射)
let arr=[1,2,3,4];
let result=arr.map(item=>item*2);
alert(result); //2,4,6,8
6.数组filter方法(过滤)
let arr=[1,2,3,4,5,6,7,8];
let result=arr.filter(item=>item%2);
alert(result); //1,3,5,7
7.数组forEach方法(遍历)
let arr=[1,2,3,4,5,6,7,8];
let result=arr.forEach((item,index)=>{
alert(`第${index+1}是${item}`)
})
8.数组reduce方法(汇总)
//求平均数
let arr=[1,2,3,4,5,6];
let result=arr.reduce((tamp,item,index)=>{
if(index<arr.length-1){
return tamp+item;
}else{
return (tamp+item)/arr.length;
}
})
alert(result);
9.字符串模板(``)
//可以换行
let str=`ab
c`;
alert(str);
10.面向对象(class、super、extends)
class User{
constructor(name,pass){
this.name=name;
this.pass=pass;
} login(){
alert('登录成功')
}
} class VIPUser extends User{
constructor(name,pass,level){
super(name,pass);
this.level=level;
} download(){
alert('下载成功')
}
} let p=new VIPUser('blue',123,8);
p.login();
p.download();
alert(p.name);
alert(p.pass);
alert(p.level);
11.解构赋值
//数组,一一对应
let [a,b,c]=[1,2,3];
alert(a);
alert(b);
alert(c);
//对象,一一对应
let {a,b,c}={'a':'1','b':'2','c':'3'};
alert(a);
alert(b);
alert(c);
12.promise
一、
let p=new Promise(function(resolve,reject){
$.ajax({
url:'data/1.txt',
dataType:'json',
success(arr){
resolve(arr)
},
error(err){
reject(err)
}
})
}) p.then(arr=>{
alert('成功了'+arr)
},err=>{
alert('失败了')
})
二、
let p1=new Promise(function(resolve,reject){
$.ajax({
url:'data/1.txt',
dataType:"json",
success(arr){
resolve(arr)
},
error(err){
reject(err)
}
})
}); let p2=new Promise(function(resolve,reject){
$.ajax({
url:'data/2.txt',
dataType:'json',
success(arr){
resolve(arr)
},
erros(err){
reject(err)
}
})
}); let p3=new Promise(function(resolve,reject){
$.ajax({
url:'data/3.txt',
dataType:'json',
success(arr){
resolve(arr)
},
error(err){
reject(err)
}
})
}); Promise.all([p1,p2,p3]).then(function(arr){
let [r1,r2,r3]=arr;
alert(r1);
alert(r2);
alert(r3);
},function(){
alert('失败了')
})

1.var let const        var---变量,重复定义不报错,没有块级作用域,不能限制修改          if(12>5){            var a=12;          }          alert(a); //弹出12
        let---变量,重复定义报错,有块级作用域,可以限制修改
          if(12>5){            let a=12;          }          alert(a); //报错,let有块级作用域的概念,只在if代码段内有效
          <!DOCTYPE html>          <html>            <head>              <meta charset="utf-8">              <title></title>              <script>                window.onload=function(){                  var aBtn=document.getElementsByTagName('input');
                  for(let i=0;i<aBtn.length;i++){                    aBtn[i].onclick=function(){                      alert(i);                    }                  }                }              </script>            </head>            <body>              <input type="button" name="" value="a">              <input type="button" name="" value="b">              <input type="button" name="" value="c">            </body>          </html>          三个按钮分别输出0,1,2
        const---常量,重复定义报错,有块级作用域,可以限制修改
          const a=12;          a=5;          alert(a); //报错,const是常量,不能修改      2.箭头函数        只有一个参数,()可以省        只有一个语句,还是return,{}可以省
        一、把function去掉,加上=>            function (a,b,c){              //代码            }
            (a,b,c)=>{              //代码            }        二、示例            function show(fn){              fn(12,5);            }
            show((a,b)=>{              alert(a*b);            })        三、只有一个参数,()可以省            let show=a=>{              alert(a)            }            show(5);        四、只有一个语句,还是return,{}可以省            let sum=(a,b)=>a+b;            alert(sum(1,2));        五、实现排序            let arr=[2,5,4,1,9,6];            arr.sort((a,b)=>a-b);            alert(arr);      3.参数扩展(...arg)            function show(a,b,...arg){              alert(arg);            }
            show(1,2,3,4,5,6);  ///3,4,5,6
            注意:...arg只能放在参数的最后一个            function show(a,b,...arg,c){              alert(arg);            }
            show(1,2,3,4,5,6);  //报错,...arg没有放在参数的最后一个      4.展开数组        一、采用...arg,数组展开为1,2,3            let arr=[1,2,3];            function sum(a,b,c){              alert(a+b+c);            }
            sum(...arr);  //6       二、展开数组,并连接数组             let arr1=[1,2,3];             let arr2=[4,5,6];
             let arr=[...arr1,...arr2];             alert(arr);  //1,2,3,4,5,6      5.数组map方法(映射)          let arr=[1,2,3,4];          let result=arr.map(item=>item*2);          alert(result);    //2,4,6,8      6.数组filter方法(过滤)          let arr=[1,2,3,4,5,6,7,8];          let result=arr.filter(item=>item%2);          alert(result);  //1,3,5,7      7.数组forEach方法(遍历)          let arr=[1,2,3,4,5,6,7,8];          let result=arr.forEach((item,index)=>{            alert(`第${index+1}是${item}`)          })      8.数组reduce方法(汇总)          //求平均数          let arr=[1,2,3,4,5,6];          let result=arr.reduce((tamp,item,index)=>{            if(index<arr.length-1){              return tamp+item;            }else{              return (tamp+item)/arr.length;            }          })          alert(result);      9.字符串模板(``)            //可以换行            let str=`ab            c`;            alert(str);      10.面向对象(class、super、extends)          class User{            constructor(name,pass){              this.name=name;              this.pass=pass;            }
            login(){              alert('登录成功')            }          }
          class VIPUser extends User{            constructor(name,pass,level){              super(name,pass);              this.level=level;            }
            download(){              alert('下载成功')            }          }
          let p=new VIPUser('blue',123,8);          p.login();          p.download();          alert(p.name);          alert(p.pass);          alert(p.level);    11.解构赋值        //数组,一一对应        let [a,b,c]=[1,2,3];        alert(a);        alert(b);        alert(c);        //对象,一一对应        let {a,b,c}={'a':'1','b':'2','c':'3'};        alert(a);        alert(b);        alert(c);    12.promise        一、          let p=new Promise(function(resolve,reject){            $.ajax({              url:'data/1.txt',              dataType:'json',              success(arr){                resolve(arr)              },              error(err){                reject(err)              }            })          })
          p.then(arr=>{            alert('成功了'+arr)          },err=>{            alert('失败了')          })      二、        let p1=new Promise(function(resolve,reject){          $.ajax({            url:'data/1.txt',            dataType:"json",            success(arr){              resolve(arr)            },            error(err){              reject(err)            }          })        });
        let p2=new Promise(function(resolve,reject){          $.ajax({            url:'data/2.txt',            dataType:'json',            success(arr){              resolve(arr)            },            erros(err){              reject(err)            }          })        });
        let p3=new Promise(function(resolve,reject){          $.ajax({            url:'data/3.txt',            dataType:'json',            success(arr){              resolve(arr)            },            error(err){              reject(err)            }          })        });
        Promise.all([p1,p2,p3]).then(function(arr){          let [r1,r2,r3]=arr;          alert(r1);          alert(r2);          alert(r3);        },function(){          alert('失败了')        })

es6(1)的更多相关文章

  1. ES6模块import细节

    写在前面,目前浏览器对ES6的import支持还不是很好,需要用bable转译. ES6引入外部模块分两种情况: 1.导入外部的变量或函数等: import {firstName, lastName, ...

  2. webpack+react+redux+es6开发模式

    一.预备知识 node, npm, react, redux, es6, webpack 二.学习资源 ECMAScript 6入门 React和Redux的连接react-redux Redux 入 ...

  3. ES6的一些常用特性

    由于公司的前端业务全部基于ES6开发,于是给自己开个小灶补补ES6的一些常用特性.原来打算花两天学习ES6的,结果花了3天才勉强过了一遍阮老师的ES6标准入门(水好深,ES6没学好ES7又来了...) ...

  4. ES6(块级作用域)

    我们都知道在javascript里是没有块级作用域的,而ES6添加了块级作用域,块级作用域能带来什么好处呢?为什么会添加这个功能呢?那就得了解ES5没有块级作用域时出现了哪些问题. ES5在没有块级作 ...

  5. es6小白学习笔记(一)

    1.let和const命令 1.es6新增了let和const命令,与var用法类似,但它声明的变量只在let所在的代码块内有效(块级作用域,es5只有全局和函数作用域) { let a = 1; v ...

  6. ES6之变量常量字符串数值

    ECMAScript 6 是 JavaScript 语言的最新一代标准,当前标准已于 2015 年 6 月正式发布,故又称 ECMAScript 2015. ES6对数据类型进行了一些扩展 在js中使 ...

  7. ES6之let命令详解

    let与块级作用域 { var foo='foo'; let bar='bar'; } console.log(foo,'var'); //foo varconsole.log(bar ,'bar') ...

  8. ES6 箭头函数中的 this?你可能想多了(翻译)

    箭头函数=>无疑是ES6中最受关注的一个新特性了,通过它可以简写 function 函数表达式,你也可以在各种提及箭头函数的地方看到这样的观点——“=> 就是一个新的 function”. ...

  9. ES6+ 现在就用系列(二):let 命令

    系列目录 ES6+ 现在就用系列(一):为什么使用ES6+ ES6+ 现在就用系列(二):let 命令 ES6+ 现在就用系列(三):const 命令 ES6+ 现在就用系列(四):箭头函数 => ...

  10. ES6+ 现在就用系列(一):为什么使用ES6+

    系列目录 ES6+ 现在就用系列(一):为什么使用ES6+ ES6+ 现在就用系列(二):let 命令 ES6+ 现在就用系列(三):const 命令 ES6+ 现在就用系列(四):箭头函数 => ...

随机推荐

  1. 自然语言处理 Paddle NLP - 预训练模型产业实践课-理论

    模型压缩:理论基础 模型压缩基本方法分为三类: 量化 裁剪 蒸馏 量化 裁剪 绿线:随机裁剪 30% 已经扛不住了 蓝线:60% 还不错 蒸馏 蒸馏任务与原来的学习任务同时进行. 对于没有标注的数据, ...

  2. Unity UGUI的Mask(遮罩)组件的介绍及使用

    Unity UGUI的Mask(遮罩)组件的介绍及使用 1. 什么是Mask组件? Mask(遮罩)组件是Unity UGUI中的一个重要组件,用于限制子对象的可见区域.通过设置遮罩组件,可以实现一些 ...

  3. 【WebRtc】获取分享屏幕

    分享前页面 获取分享屏幕 Code /** * 开始屏幕共享 */ openShareScreen() { var that = this // 判断是否支持获取本地屏幕分享数据 if (!navig ...

  4. keycloak~AbstractJsonUserAttributeMapper的作用

    AbstractJsonUserAttributeMapper 它是一个抽象类,用来更新条件更新用户属性(user_attribute)的信息,我们在实现自己的mapper时,需要关注3个方法,下面分 ...

  5. Spring-Bean的依赖注入的数据类型

    Spring-Bean的依赖注入的数据类型 除了对象的引用可以注入,普通数据类型,集合等都可以在容器中进行注入 数据的三种数据类型 普通数据类型 引用数据类型 集合数据类型 普通数据类型 public ...

  6. Easygraph:全面高效的图分析与社会计算开源工具

    前言图是对事物之间关系的一种原生的表达,利用图可以深入直接地认识世界中的关联.社交网络.交易数据.知识图谱.交通运输.生物技术等都是图数据的典型应用.社交网络是一种特殊的图数据,它建立在图网络的基础上 ...

  7. JFrame一些基础小知识

    JFrame.setLocationRelativeTo方法 JFrame.setLocationRelativeTo()是一个Java Swing中的方法,它用于将窗口居中显示在屏幕上. 当你调用该 ...

  8. 如何配置Linux的yum源

    一.配置本地yum源 1.挂载光盘 a.建目录 #mkdir /media/cdrom b.挂载光盘 #mount /media/sr0 /media/cdrom c.挂载本地iso文件 #mount ...

  9. 如何正确使用 ThreadLocal,你真的用对了吗?

    引言: 当多线程访问共享且可变的数据时,涉及到线程间同步的问题,并不是所有时候,都要用到共享数据,所以就需要ThreadLocal出场了. ThreadLocal又称线程本地变量,使用其能够将数据封闭 ...

  10. 修改启动配置文件更改root密码

    第二种:修改启动配置文件 (1)进入救援模式 开机选择第一个系统内核,键入e (2)修改配置文件 将光标移动linux 开始的行,添加内核参数 rd.break 按ctrl-x启动 光标放在linux ...