Es6学习指南-1-函数变量】的更多相关文章

ES6学习笔记--箭头函数 箭头函数一直在用,最近突然想到重新看一下箭头函数的用法,所以这里做一些总结. 箭头函数长这个样子: let fn = a => a++; // fn 是函数名, a=>a*a 是函数体 这个函数就类似于: let fn = function (a) { return a++; } 上面的实例就是一个参数的情况,当然也可以没有参数,或者有多个参数 没有参数 // 示例1 let fn = () => 2 + 3; // 相当于 let fn = function…
一.let 1.看下代码,在函数中无论在哪里声明变量,都会自动提到函数顶部,这就是函数变量提升,它的作用于为当前函数中. function aa() { if(bool) { var test = 'hello man' } else { console.log(test) } } 浏览器解析时 function aa() { var test // 变量提升 if(bool) { test = 'hello man' } else { //此处访问test 值为undefined consol…
一.变量 var  1 可以重复声明(var a=1;var a=7;)(一开始用着会觉得限制很少,但是在大型项目会麻烦,人多嘴杂的时候定义重复了就容易出问题还不好找) 2 无法限制修改 3 没有块级作用域(块指{}以外就不能访问) function(){ var a=10; } alert(a); ES6的变量: let: 不能重复声明(重复声明会报错:a已经声明过了,const也是): let a=0; let a=1; let是变量,可以修改: let a=0; a=1;alert(a);…
本篇章我们简述的是 es6初级知识点,认识es6,以及es6变量和es5的变量和函数. ECMAScript  6简介 ECMAScript 6.0(以下简称ES6)是JavaScript语言的下一代标准,已经在2015年6月正式发布了.它的目标,是使得JavaScript语言可以用来编写复杂的大型应用程序,成为企业级开发语言. ECMAScript和JavaScript的关系 一个常见的问题是,ECMAScript和JavaScript到底是什么关系? 一个常见的问题是,ECMAScript和…
1 前情摘要 前段时间时间进行项目开发,需求安排不是很合理,导致一直高强度的加班工作,这一个月不是常说的996,简直是936,还好熬过来了.在此期间不是刚学会了es6的promise,在项目有用到promise的就一直都在用promise,爽的不要不要的,哈哈,项目到了最终阶段,不是很忙了,就开始自己的学习之路,好啦,废话到此为止,开始- 2 含义 关于异步操作,在es6之前,一直都是 回调函数, 事件监听, 发布/订阅 promise对象 (摘自es6的Generator函数的异步应用),这四…
1.函数参数的默认值 ES6 允许为函数的参数设置默认值,即直接写在参数定义的后面. function log(x, y = 'World') { console.log(x, y); } log('Hello') // Hello World log('Hello', 'China') // Hello China log('Hello', '') // Hello ) { let x = 1; // error const x = 2; // error } 使用参数默认值时,函数不能有同名…
基本概念 Generator函数有多种理解角度.从语法上,首先可以把它理解成,Generator函数是一个状态机,封装了多个内部状态. 执行Generator函数会返回一个遍历器对象,也就是说,Generator函数除了状态机,还是一个遍历器对象生成函数.返回的遍历器对象,可以依次遍历Generator函数内部的每一个状态. 形式上,Generator函数是一个普通函数,但是有两个特征. function关键字与函数名之间有一个星号: 函数体内部使用yield语句,定义不同的内部状态(yield…
定义函数时为参数指定默认值的能力,是现代动态编程语言的标配.在ES6出现之前,JavaScript是没有这种能力的,框架为了实现参数默认值,用了很多技巧. ES6 的默认参数值功能,与其他语言的语法类似,但功能更强大. 首先,是可以用标量值为函数参数指定默认值,这个标量可以是基本类型.数组.对象. 例1: function foo(name = {first:"张",last:"三"},age = 20, phones = ['18888888888','18666…
1.let和var类似, (1)let与var不同的点:let没有预编译,变量提升这个过程,let声明的变量只能在当前作用域内访问到(一个{}可以看做是一个作用域),在全局var声明的变量属于window,而let声明的不属于 let a = 12; (function () { console.log(a); let a = 5; }()); 可见上面代码中是会报错的,如果a是var声明的,那么就不会报错.输出a的值是undefined (2)虽然说let声明的变量不允许重复声明,但是在for…
参考书<ECMAScript 6入门>http://es6.ruanyifeng.com/ 函数的扩展 函数的默认值 : ES6可以为函数指定默认值 (1)指定默认值的两种方式 a.函数参数的默认值  function test(a = 0,b = 5){    return a+b;  }  test();//5 调用方法时,参数a,b都是undefined,可以使用默认值,因此返回5  test(7);//7+5 = 12  test(,10);//报错 非尾参数设置了默认值,则调用函数时…