普通函数格式: function add(a,b){return a+b};
箭头函数格式:add =(a,b)=>a+b;或add=(a,b)=>{return a+b;}这里就不详细说明箭头函数的简写规则,2者区别主要分为以下几个方面:
1.this方面:
普通函数内部的this,默认指向window,严格模式下指向undefined;
箭头函数内部的this,与上一级作用域中的this指向同一个地方。
具体示例代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<script type="text/javascript">
var person = {
name: "小明",
age: 2,
sayname: function() {
setTimeout(function() {
console.log(this)}, 500);
}
}
var person2 = {
name: "小张",
age: 4,
sayname: function() {
setTimeout(()=> {
console.log(this)}, 500);
}
}
person.sayname();
person2.sayname();
</script>
</html>
2.arguments方面:
普通函数,可以通过arguments来实现重载;
箭头函数中,没有arguments,代替它功能是剩余参数rest(...)。
示例代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<script type="text/javascript">
function add(...values) {
let sum = 0;
for (var val of values) {
sum += val;
}
return sum;
}
alert(add(2, 5, 3)) // 10
</script>
</html>
3.原型对象方面:
普通函数,是有自己的原型对象的;
箭头函数,没有原型对象。
4.new方面:
普通函数,可以作为构造函数,通过new实例化出子函数;
箭头函数,不能作为构造函数,使用new会报错。
网友回复
python如何调用openai的api实现知识讲解类动画讲解视频的合成?
html如何直接调用openai的api实现海报可视化设计及文本描述生成可编辑海报?
f12前端调试如何找出按钮点击事件触发的那段代码进行调试?
abcjs如何将曲谱播放后导出mid和wav格式音频下载?
python如何将曲子文本生成音乐mp3或wav、mid文件
python中mp3、wav音乐如何转成mid格式?
js在HTML中如何将曲谱生成音乐在线播放并下载本地?
python如何实现在windows上通过键盘来模拟鼠标操作?
python如何给win10电脑增加文件或文件夹右键自定义菜单?
python如何将音乐mp3文件解析获取曲调数据?