深入理解ES6之函数的箭头函数、不定参数、尾调用等

本文深入探讨JavaScript ES6的特性,包括函数形参的默认值,如何处理无命名参数,以及箭头函数的使用。详细介绍了ES6中的默认参数可以解决在ES5中模拟默认参数的问题,同时讨论了不定参数的使用和限制。此外,还阐述了箭头函数的特点,如没有`this`、`super`、`arguments`和`new.target`绑定,以及不支持构造函数调用和`arguments`对象。文章还讲解了尾调用优化的概念和其在内存优化上的重要作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

函数是所有编程语言的重要组成部分。

函数形参的默认值

在ES5中模拟默认参数。

<script>
			function makeRequest(url,timeout,callback){
   
				timeout = timeout || 2000;
				callback = callback || function(){
   }
				// 函数其余部分
			}
</script>

这个方法呢也有一定的缺陷,如果我们想给makeRequest函数的第二个形参timeout传值0时,会被认为是一个假值,并最终将timeout赋值为2000.在这种情况下,可以通过typeof来检查参数类型。
即代码:

<script>
			function makeRequest(url,timeout,callback){
   
				timeout = (typeof timeout!=="undefined") ?timeout: 2000;
				callback = (typeof callback !== "undefined") ? callback :function(){
   }
				// 函数其余部分
			}
</script>

ES6中模拟默认参数

<script>
		function makeRequest(url,timeout=2000,callback = function(){
   }){
   				
				// 函数其余部分
			}
</script>

url是必须的,其他两个为可选参数。

处理无命名参数

使用无命名参数可以合理的减少代码量
ES5中无命名参数
javaScript提供auguments对象来检查函数的所有参数,而不必定义每一个参数。


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值