语法:
1、只有一个参数,可以不用写小括号:

var single = a => a; //相当于var single = function(a){return a;}
console.log(single('hello, world'))// 'hello, world'
var single = a => console.log(a); //相当于var single = function(a){console.log(a);}
single('hello, world') // 'hello, world'

2、没有参数,要写一个空的小括号:

var noPare = () => console.log("No parameters");
noPare(); //"No parameters"
3、多个参数,参数在小括号中用逗号隔开:

var mulPare = (a,b) => console.log(a+b);
mulPare(1,2); // 3
4、函数体有多条语句,用大括号包起来:

var differ = (a,b) => {
     if (a > b) {
          return a - b
     } else {
          return b - a
     }
};
differ(5,3); // 2
5、返回对象时需要用小括号包起来,因为大括号被占用解释为代码块了:

var getObject = object => {
// ...
return ({
name: 'Jack',
age: 33
})
}
6、直接作为事件,单条语句也要用大括号包起来:

form.addEventListener('input', val => {
console.log(val);
});
7、作为数组排序回调,单条语句也要用大括号包起来:

var arr = [1, 9 , 2, 4, 3, 8].sort((x, y) => {
return x - y ;
})
console.log(arr); // 1 2 3 4 8 9
注意:
1、与普通function实例没有区别,通过 typeof 和 instanceof 都可以判断它是一个function

var fn = a => console.log(a);
console.log(typeof fn); // function
console.log(fn instanceof Function); // true
2、this固定,不需要再多写一句var _this = this;去绑定this指向

fruits = {
data: ['apple', 'banner'],
init: function() {
document.onclick = ev => {
alert(this.data)
}
}
}
fruits.init(); // ['apple', 'banner']
3、箭头函数不能用new

var Person = (name, age) => {
this.name = name
this.age = age
}
var p = new Person('John', 33) // error

es6的几种写法的更多相关文章

  1. es6对象内函数的两种写法

    es6对象内函数一般有两种写法: var person1 = { name: "p1", sayThis() { console.log(this); } }; var perso ...

  2. 总结 React 组件的三种写法 及最佳实践 [涨经验]

    React 专注于 view 层,组件化则是 React 的基础,也是其核心理念之一,一个完整的应用将由一个个独立的组件拼装而成. 截至目前 React 已经更新到 v15.4.2,由于 ES6 的普 ...

  3. 关于JQ中ready()方法的几种写法总结

    ——习惯贵在坚持,天才在于积累. 好久没写博客的我,似乎是忘记了当初写博客的初衷是要在博客笔记中提升自己的写作能力和积累自己的知识要点. 废话不多说. ready()方法作用: 在页面加载完成后,立即 ...

  4. 总结 React 组件的三种写法 及最佳实践

    React 专注于 view 层,组件化则是 React 的基础,也是其核心理念之一,一个完整的应用将由一个个独立的组件拼装而成. 截至目前 React 已经更新到 v15.4.2,由于 ES6 的普 ...

  5. JavaScript 的对象继承方式,有几种写法?

    JavaScript 的对象继承方式,有几种写法? 一.对象冒充 其原理如下:构造函数使用 this 关键字给所有属性和方法赋值(即采用类声明的构造函数方式).因为构造函数只是一个函数,所以可使 Pa ...

  6. java设计模式之单例模式(几种写法及比较)

    概念: Java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍三种:懒汉式单例.饿汉式单例.登记式单例. 单例模式有以下特点: 1.单例类只能有一个实例. 2.单例类必须自己创建 ...

  7. javascript函数的几种写法集合

    1.常规写法 function fnName(){ console.log("常规写法"); } 2.匿名函数,函数保存到变量里 var myfn = function(){ co ...

  8. php插入式排序的两种写法。

    百度了下插入式排序,百度百科中php版本的插入式排序如下: function insert_sort($arr) { // 将$arr升序排列 $count = count($arr); for ($ ...

  9. ASP.NET MVC中获取URL地址参数的两种写法

    一.url地址传参的第一种写法 1.通过mvc中默认的url地址书写格式:控制器/方法名/参数 2.实例:http://localhost:39270/RequestDemo/Index/88,默认参 ...

随机推荐

  1. oracle 按表数据新增一行

    在功能实现时,能尽量用一个sql语句直接实现业务逻辑的话,就不要去写C#代码,便于维护. 以下sql的逻辑是:给明细表新增一条数据,前提是传入的债券代码存在与债券表,否则不新增.此sql返回受影响行数 ...

  2. SAP MM tables

    Materials MARA - Material Master: General data MAKT - Material Master: Description MARM - Material M ...

  3. node.js中对 redis 的安装和基本操作

    一.win下安装redis https://github.com/MicrosoftArchive/redis/releases 下载Redis-x64-3.2.100.zip,然后解压,放到自定义目 ...

  4. itchat 报错 OSError: [WinError -2147221003] 找不到应用程序: 'QR.png'

    OSError: [WinError -2147221003] 找不到应用程序: 'QR.png'   原因: 缺少在windows 下相关处理方法 解决方法:找到你运行环境C:\Python36\L ...

  5. 分析easyswoole3.0源码,Trace组件(四)

    前文,我们访问地址的时候服务端会输出类似trace信息.那么原理是什么呢?其实es3已经把这个独立出来作为单独组件了,名字叫做Trace组件 在demo里的调用原理是 EasySwooleEvent: ...

  6. Shell脚本- 单条命令循环执行重复工作

    关于shell for循环具体详细说明可参考:http://wiki.jikexueyuan.com/project/linux-command/chap34.html example: 分别在com ...

  7. Mysql必知必会 第一章 了解SQL

    第一章 了解SQL 1.1 数据库基础 1.1.1 什么是数据库 数据库的定义:保存有组织的数据的容器 数据库软件不是数据库,而是DBMS 1.1.2 表 表(Table)的定义:某种特定类型数据的结 ...

  8. L2范数的相关求解

    https://blog.csdn.net/u010725283/article/details/79212762

  9. 【转】为什么分布式一定要有Redis?

    发现一篇好文. https://studygolang.com/articles/15064

  10. Java 字符编码(一)Unicode 字符编码

    Java 字符编码(一)Unicode 字符编码 Unicode(http://www.unicode.org/versions/#TUS_Latest_Version) 是一个编码方案,说白了希望给 ...