转载这篇ES6的箭头函数方便自己查阅. ES6可以使用“箭头”(=>)定义函数,注意是函数,不要使用这种方式定义类(构造器). 一.语法 基础语法 (参数1, 参数2, …, 参数N) => { 函数声明 } (参数1, 参数2, …, 参数N) => 表达式(单一) //相当于:(参数1, 参数2, …, 参数N) =>{ return 表达式; } // 当只有一个参数时,圆括号是可选的: (单一参数) => {函数声明} 单一参数 => {函数声明} // 没有参…
作者 Jason Orendorff  github主页  https://github.com/jorendorff 箭头符号在JavaScript诞生时就已经存在,当初第一个JavaScript教程曾建议在HTML注释内包裹行内脚本,这样可以避免不支持JS的浏览器误将JS代码显示为文本.你会写这样的代码: <script language="javascript"> <!-- document.bgColor = "brown"; // red…
箭头符号在JavaScript诞生时就已经存在,当初第一个JavaScript教程曾建议在HTML注释内包裹行内脚本,这样可以避免不支持JS的浏览器误将JS代码显示为文本.你会写这样的代码: <script language="javascript"> <!-- document.bgColor = "brown"; // red // --> </script> 老式浏览器会将这段代码解析为两个不支持的标签和一条注释,只有新式浏…
箭头函数与普通函数的区别 1.语法上更加简洁.清晰 基本语法: // 关于箭头函数的参数 // 如果箭头函数没有参数,直接写一个括号即可 let fun1 = () => { console.log('111') }; // 如果箭头函数只有一个参数,可以省略括号 let fun2 = name => { console.log('Hello ' + name); }; // 如果箭头函数有多个参数,用逗号隔开,写括号里面 let fun3 = (a, b, c) => { consol…
关于函数表达式中的this:自动引用正在调用当前方法的.前的对象1.obj.fun()中的this fun中的this -> obj2.new Fun() Fun中的this -> 正在创建的新对象3.fun()和匿名函数自调 this -> window4.类型.prototype.fun() fun中的this -> 将来调用fun的.前的子对象,子对象一定是当前类型5.如果this不是想要的对象 fun.call(替换this的对象),相当于对象.fun()ex:键盘事件 /…
1.普通函数中的this总是指向调用它的那个对象, 箭头函数没有自己的this,他的this永远指向其定义环境,任何方法都改变不了其指向,如call().bind().apply().(正是因为它没有this,所以也就不能用作构造函数,也没有原型对象) 2.箭头函数不能当作构造函数,也就是说,不能使用new命令,否则会报错. 3.箭头函数不能使用yield命令,因此箭头函数不能用作genertor函数. 4.箭头函数没有原型属性. 5.箭头函数不能使用argumen对象,该对象在函数体内不存在.…
x => x * x 上面的箭头函数相当于: function (x) { return x * x; } 箭头函数相当于匿名函数,并且简化了函数定义. 箭头函数有两种格式,一种像上面的,只包含一个表达式,连{ ... }和return都省略掉了. 还有一种可以包含多条语句,这时候就不能省略{ ... }和return: x => { if (x > 0) { return x * x; } else { return - x * x; } } 如果参数不是一个,就需要用括号()括起来:…
箭头函数的语法 function fn1() { console.log(1); } let fn2 = () => { console.log(2); } fn1()//1 fn2()//2 //箭头函数: 形参=>返回值 //单个形参的最简写法,箭头函数作为匿名的回调函数是可以省略let fn ,既(形参)=>{语句} let fn = nub => nub * 2 console.log(fn(10));//20 //多个形参,语句单一.(形参1,形参2)=>返回值 l…
首先来两点: 当只有一个参数的时候,那么 () 可以省略 当只有一个 return 的时候,那么 {} 可以省略 当函数体内只有一条语句的时候,那么 {} 也可以省略 下面来几个简单的例子来对比 ES6 和 ES5: ES5: window.onload = function () { alert('abc'); } ES6: window.onload = () => { alert('abc'); } 上面这个例子是最普通的,现在让我们传参比较 ES5: let show = functio…
箭头函数是es6新增的非常有意思的特性,初次写起来,可能会觉得别扭,习惯之后,会发现很精简. 什么是箭头函数? 箭头函数是一种使用箭头( => )定义函数的新语法, 主要有以下特性: 不能通过new关键字调用 没有原型, 因为不能通过new调用,所以没有原型 没有this, super,arguments和new.target绑定, new.target和super关键字是es6新增的 箭头函数中的this,取决于他的上层非箭头函数的this指向 没有arguments对象,但是可以获取到外层函…