ES6函数扩展(设置参数默认值,不确定参数个数,this对象绑定问题)案例

案例代码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>函数扩展</title>
	</head>
	<body>
		<script type="text/javascript" src="js/jquery.js" ></script>
		<script>
			//1.形参设置默认值
			function sum(sum1=10,sum2=10){
				console.log(sum1+sum2);
			}
			sum(1,3);
			sum();
			//2.参数形式 延展操作符
			//ES5
			function summ(){
				let re=0;
				for(let value of arguments){
					re+=value;
				}
				return re;
			}
			console.log(summ(10,60));
			//ES6
			function summm(name,...nums){
				let re=0;
				console.log(name);
				for(let value of nums){
					re+=value;
				}
				return re;
			}
			console.log(summm('大金',10,80));
			//3.箭头函数
			let s=(num1,num2) => {return num1+num2;};
			console.log(s(100,200));
			let nameArr=['小明','小红','小兰'];
			nameArr.forEach((value,index)=>{
				console.log(index+':'+value);
			});
			//解决this绑定问题
			function demo(){
				//window对象
				setTimeout(function(){
					console.log(this);
				},1000);
				//调用该函数的对象
				setTimeout(()=>{
					console.log(this);
				},1000);
			}
			let obj={};
			demo.call(obj);
		</script>
	</body>
</html>

猜你喜欢

转载自blog.csdn.net/xm393392625/article/details/80974399