=> Arrow Function

箭头函数相当于匿名函数,并且简化了函数定义

(x) => x + 1 相当于:

function(x){
    return x + 1;
}

箭头函数有两种格式

1.只有一条表达式,可以不用写{..}与return

// 有参数:
(x, y) => x * x + y * y

// 无参数:
() => alert('无参数')

2.多条表达式

x => {
    if (x > 0) {
        return x * x;
    }
    else {
        return - x * x;
    }
}

如果返回值为对象

// SyntaxError:
x => { foo: x }
因为和函数体的{ ... }有语法冲突,所以要改为:
// ok:
x => ({ foo: x })

使用

var a = () => 10;
alert(a())   >>>10

function Test() {
    this.num = 100;
    this.func = function(){
	    console.log(this.num); // 100
	    var that = this;
            #以下两种写法的结果一样
            #这里不能为this.num,它在匿名函数里,this指向windows
	    setTimeout(function(){console.log(that.num);}, 500);

	    setTimeout(() => console.log(this.num), 500)};
}
var obj = new Test();
obj.func();

箭头函数内部的this是词法作用域,由上下文确定,无法通过call与apply进行绑定

JavaScript中的Object.defineProperty()和defineProperties()

https://segmentfault.com/a/1190000011294519

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值