函数上下文调用之apply方法
2019-05-27 本文已影响0人
椋椋夜色
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title> 函数上下文调用之apply方法 </title>
<script>
// apply跟call的作用一毛一样
// 只是有一个区别:call传实参,要一个一个传,而apply直接传一个数组
// 用apply,就要传数组,传数组,它会把数组依次铺开,然后分别赋值给形参
// 语法:函数.apply(要修改的this指向, [数组]);
// apply 的基本使用
function f1(a, b) {
console.log(a, b);
console.log(this);
};
var obj = {
name: "jack"
};
f1.apply(obj, [20, 30]);
// 用apply,就要传数组,传数组,它会把数组依次铺开,然后分别赋值给形参
// 调用Math.max方法,只不过想直接传入一个数组,它帮我把数组里面元素依次铺开
// 所以要用apply,但是又不需要改this指向,所以传入Math自己,代表不改它指向
var arr = [11,22,33,44,55,66];
// 找最大值;
var max = Math.max.apply(Math,arr);
console.log(max); // 66
// 找最小值;
var min = Math.min.apply(Math,arr);
console.log(min); // 11
</script>
</head>
<body>
</body>
</html>