Es6的用法
var callBack=[]; // 这个等于是个闭包,i会累加到3在做运算,所以结果都是6
for(var i=;i<=;i++)
{
callBack[i]=function(){
return i*;
}
}
console.table([
callBack[](),
callBack[](),
callBack[]() ]) var callBacks=[];
for(let j=;j<=;j++) //let 作用域为{}号内,结果为0,2,4
{
callBacks[j]=function(){
return j *;
}
}
console.table([
callBacks[](),
callBacks[](),
callBacks[](),
]);
在Es6中{}可以用来分割作用域
{
function test(){
return ;
}
console.log(test());
{
function test(){
return ;
}
console.log(test());
}
}
Es6中箭头函数this指向问题
var person=function(){ //this的指向,是该函数被调用的对象,在当前d是c调用的,所以是c对象中的a
this.a="a",
this.b="b",
this.c={
a:"a++",
d:function(){
return this.a;
}
}
};
console.log(new person().c.d()); var student=function(){ //Es6中this是指向当前对象的实例
this.a="a",
this.b="b",
this.c={
a:"a++",
d:()=>{
return this.a;
}, }
}
console.log(new student().c.d());
Es6中参数赋值,和可扩展参数
function t(x,y,z){
x=x || ;
y=y || ;
z=z || ;
return x+y+z;
} console.log(t()); function f(x,y,z)
{
if(y==undefined)
{
y=;
}
if(z==undefined)
{
z=;
}
return x+y+z;
}
console.log(f()); function j(x=,y=,z=)
{
return x+y+z;
}
console.log(j(,,)); function t(...a) //...a扩展运算符,代表的是一个可变参数的列表,并且是个数组
{
var sum=;
a.forEach(x=>{
sum+=x;
})
return sum;
};
console.log(t(,,));
Es6的用法的更多相关文章
- Es6 Promise 用法详解
Promise是什么?? 打印出来看看 console.dir(Promise) 这么一看就明白了,Promise是一个构造函数,自己身上有all.reject.resolve这几个眼熟的方 ...
- ES6 Promise 用法讲解
Promise是一个构造函数,自己身上有all.reject.resolve这几个眼熟的方法,原型上有then.catch等同样很眼熟的方法. 那就new一个 var p = new Promise( ...
- ES6 Promise用法讲解
所谓Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果. ES6 规定,Promise对象是一个构造函数,用来生成Promise实例. 下面代码创造了一个 ...
- ES6 Promise 用法转载
Promise是一个构造函数,自己身上有all.reject.resolve这几个眼熟的方法,原型上有then.catch等同样很眼熟的方法. 那就new一个 var p = new Promise( ...
- 转--ES6 Promise 用法讲解
Promise是一个构造函数,自己身上有all.reject.resolve这几个眼熟的方法,原型上有then.catch等同样很眼熟的方法. 那就new一个 var p = new Promise( ...
- ES6新用法
ES6 详细参考页面 简介 ECMAScript和JavaScript的关系是,前者是后者的规格,后者是前者的一种实现.一般来说,这两个词是可以互换的. let命令 ES6新增了let命令,用来声明变 ...
- ES6 const用法
1.const声明一个只读的常量.一旦声明,常量的值就不能改变. 2.const的作用域与let命令相同:只在声明所在的块级作用域内有效. 3.const命令声明的常量也是不提升,只能在声明的位置后面 ...
- ES6 let用法
1.实现块作用域 2.不存在变量提升. ES6 明确规定,如果区块中存在let和const命令,这个区块对这些命令声明的变量,从一开始就形成了封闭作用域.凡是在声明之前就使用这些变量,就会报错.
- ES6 Promise用法详解
What is Promise? Promise是一个构造函数,接受一个参数(Function),并且该参数接受两个参数resolve和reject(分别表示异步操作执行成功后的回调函数.执行失败后的 ...
随机推荐
- SQL入门(3):定义约束/断言assertion/触发器trigger
本文介绍数据库的完整性 完整性控制程序: 指定规则,检查规则 (规则就是约束条件) 动态约束 intergrity constraint::=(O,P,A,R) O : 数据集合, 约束的对象 ?: ...
- echarts的地图点击事件
1.echarts的地图展示,有时候展示出的数据,虽然鼠标点击上去某个省份或者某个地方会有数据显示,但是点击一下地图没有任何动态效果,如何添加地图点击效果呢,这里自己也是坐下笔记,方便以后使用. 参考 ...
- selenium执行JavaScript语句:控制滚动条 聚焦元素 改变下拉选项
1. 执行js脚本 控制滚动条 # http://www.cnblogs.com/yoyoketang/p/6128655.html In [347]: js = "window.scrol ...
- 一条很用的MSSQL语句
select *,ActionName= stuff((select ',' + ActionName from Sys_Action_Table where ModuleId = Sys_Modul ...
- 蓝桥杯 全球变暖(dfs)
标题:全球变暖 [题目描述]你有一张某海域NxN像素的照片,"."表示海洋."#"表示陆地,如下所示: 其中"上下左右"四个方向上连在一起的 ...
- 一、自动化平台搭建-python虚拟环境安装
主要知识点介绍: 安装django环境 创建django项目 设计模型类并利用模型类和数据库进行交互 使用django后台管理数据 编写视图函数,进行URL配置 模板的使用 图书-英雄案例完成 1.虚 ...
- String painter HDU - 2476 -区间DP
HDU - 2476 思路:分解问题,先考虑从一个空串染色成 B串的最小花费 ,区间DP可以解决这个问题 具体的就是,当 str [ l ] = = str [ r ]时 dp [ L ] [ R ] ...
- JavaScript中作用域和作用域链的简单理解(变量提升)
通过阅读<JS高级程序设计>这本书,对js中的作用域和作用域链知识有了初步的了解和认识,准备成笔记供大家参考,笔记中字数比较多,但个人认为叙述的挺详细的,所以希望读者耐心看.再者,本人了解 ...
- 08-Python入门学习-文件与函数
一.文件 1.控制文件内指针的移动 文件内指针移动,只有t模式下的read(n),n代表的字符的个数除此以外文件内指针的移动都是以字节为单位 with open('a.txt',mode='rt',e ...
- nginx Provisional headers are shown
项目用的Nginx做的代理,重启电脑后,重启项目和Nginx 浏览器报 Provisional headers are shown 解决: host文件添加: 127.0.0.1 cleaner ...