语法:
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. 盒子模型(Box Model)

    盒子模型(Box Model) ■ 盒子模型——概念 在网页设计中常用的属性名:内容(content),填充(padding),边框(border),边界(margin),CSS 盒子模式都具备这些属 ...

  2. ToastUtils 工具类

    package com.example.grenaderose.redthunder.utils; import android.content.Context; import android.os. ...

  3. TZOJ 2289 Help Bob(状压DP)

    描述 Bob loves Pizza but is always out of money. One day he reads in the newspapers that his favorite ...

  4. [Java]刷题中的Java基础

    数组 取数组长度是属性length ArrayList ArrayList<Integer> maxRootHeap = new ArrayList<Integer>(); m ...

  5. Linux console 重定向

    Linux从启动到启动完成的所有输出均复制到Com口上,一共需要修改3个文件.在此之前还要确认/sbin/agetty文件是否存在,此文件用来把系统的输入输出映射到其它设备上. 1.首先在 /etc/ ...

  6. BootStrap布局组件

    BootStrap字体图标(Glyphicons) BootStrap下拉菜单:下拉菜单是可以切换的,是以列表格式显示链接的上下文菜单. 类 描述 .dropdown 指定下拉菜单 .dropdown ...

  7. 将Windows系统移到另一个硬盘

    原先的128GB SSD,给Windows用是够了,最近虚拟机用得多,靠以前的SSD外挂着用,实在有点不爽,就入手一个256GB的,重装系统是个令人头疼的事情,当然不能干.想起来以前另一个机器操作的时 ...

  8. netty服务器端启动

    package com.imooc.netty.ch3; import com.imooc.netty.ch6.AuthHandler; import io.netty.bootstrap.Serve ...

  9. 除非你是BAT,前端开发中最好少造轮子

    站在前人的肩膀上 HTML.CSS.JavaScript是前端的根基,这是无可否认的事实.正如一辆车当然都是由一堆钢板和螺钉组成的,但是现在还有人拎着个锤子敲敲打打的造车吗?李书福说过,“汽车不过是四 ...

  10. c++常用小算法

    这篇文章列出了一些简单常用的C++容器算法,C++标准库中事实上提供了很多的算法并且有详细的介绍.如果需要详细的了解这些算法可以 参考C++在线参考手册 algrithm . 1 排序 在 #incl ...