ES6函数

2017-08-08  本文已影响0人  chengfengwang

函数

  1. ES6 允许为函数的参数设置默认值
function log(x, y = 'World') {
  console.log(x, y);
}

log('Hello') // Hello World
log('Hello', 'China') // Hello China
log('Hello', '') // Hello

箭头函数

在箭头函数中,this的指向是固定的,是定义时所在的对象,不是使用时所在的对象

var f = function(v) {
  return v;
};
等同于
var f = v => v;

var f = function () { return 5 };
等同于
var f = () => 5

var sum = function(num1, num2) {
  return num1 + num2;
};
等同于
var sum = (num1,num2) => num1+num2
// 正常函数写法
[1,2,3].map(function (x) {
  return x * x;
});

// 箭头函数写法
[1,2,3].map(x => x * x);

箭头函数的上下文,并不是在调用的时候确认,而是在定义的时候就确定的。

var obj = {
    "name" : "小明",
    "sayhello" : () => {
        console.log(this.name);
    }
}
obj.sayhello();  //undefined,不能输出小明。
上一篇 下一篇

猜你喜欢

热点阅读