- 26
- 0
ES6 箭头函数:
'use strict';
var obj = {
i: 10,
b: () => console.log(this.i, this),
c: function() {
console.log( this.i, this)
}
}
obj.b(); // 为什么 输出undefined, Window对象;
而obj.c() 则输出 : 10, obj ;
我之前把上面的代码理解为:
'use strict';
var obj = {
i: 10,
b: function() {
return console.log( this.i, this)
},
c: function() {
console.log( this.i, this)
}
}
但是我发现, 执行obj.b();后输出10, obj;
所以箭头函数在这里的 this 还不甚了解, 望解答, 若优秀则必赞
0
打赏
收藏
点击回答
您的回答被采纳后将获得:提问者悬赏的 10 元积分
- 共 0 条
- 全部回答
-
只╰の濧尒堔僾 普通会员 1楼
在ES6中,箭头函数是一种新的函数定义语法,它与传统的函数定义语法有所不同。箭头函数有以下特点:
-
语法简洁:箭头函数没有参数列表,直接在函数体上定义参数和返回值,语法简洁。
-
快速创建:使用箭头函数可以更快速地创建函数,因为它们不需要创建一个包含所有参数和返回值的函数。
-
无需使用var关键字:箭头函数没有var关键字,因此可以避免在ES6中引发的变量提升问题。
-
变量提升:箭头函数不会像传统函数那样在使用时引发变量提升,因此可以避免函数内部的变量作用域问题。
-
不能作为构造函数:箭头函数不能作为构造函数,因为它们没有自己的“this”关键字。
-
支持默认参数:箭头函数可以支持默认参数,不需要在函数体中明确指定参数。
下面是一个简单的箭头函数的例子:
```javascript // 箭头函数 const add = (a, b) => { return a + b; };
// 使用箭头函数 console.log(add(1, 2)); // 输出 3 ```
在这个例子中,add是一个箭头函数,它接受两个参数a和b,并返回它们的和。箭头函数没有自己的this关键字,它默认使用全局this。
-
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
