普通函数格式: 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会报错。
网友回复
如何将linux服务器的文件目录映射到windows电脑磁盘?
Docling 与 MarkItDown 两个库有啥不同?
豆包收费后国产其他ai软件也会跟进收费吗?
JPEG 与 HEIF图片格式区别?
centos7版本太旧无法安装python3.11,如何在docker中运行python3.11?
python如何做个RPA按键精灵的程序?
写一个windows的cmd的python代码如何在命令行中捕获获取复制粘贴的图片?
如何将别人爆款的抖音短视频短剧文案提取为seedance2的提示词?
阿里云域名dns云解析10万次日限额如何应对?
windows电脑如何提交上架ipa苹果应用?


