最近在做一个小案例的时候遇到了Math.max.apply这么一个用法,之前很少遇到过感觉挺有趣的,就记录一下。
语法:<代码> Math.max (n1、n2, n3,…, nX) 代码>
返回值:max()方法可返回指定的参数中带有较大的值的那个数
var=Math.max (1、2、3、4); console.log(一个);//4
但是如果数据是放在一个数组里面,此时就不能这样调用了。这时就用到应用方法
apply()方法调用一个函数。简单理解为调用函数的方式,但是它可以改变函数的这指向,同时用指定数组替换函数的参数。
语法:<代码>乐趣。应用(thisArg [argsArray]) 代码>
-
<李> thisArg:在有趣函数运行时指定的这个值,可以为null,就是不设置指向李>
<李> argsArray:传递的值,必须包含在数组里面李>
这里额外补充一下,传递的值为数组形式,但是数组里是什么类型参数,返回的也是什么类型,比如输入的数组中是字符串这里取到的就是字符串,是数值取到的就是数值。比如传“abc”返回的也是“abc”。(补充说明)
返回值:应用()方法的返回值就是函数的返回值,因为它就是调用函数
var arr=(66, 99, 4]; var max=Math.max。应用(数学,arr); var min=Math.min。应用(数学,arr); console.log (max);//99 console.log(分钟);//1
<强> 2.1 math.max.apply拓展案例强>
这里我再举一个应用案例——自动生成编号(自增)
说明:数据为一个json数组,里面的每个对象都一个id值
让maxBookCode=()=祝辞{ 让arr=[];//遍历json数组,把所有对象的id存到加勒比海盗这个空数组当中 data.forEach((项)=祝辞{ arr.push (item.id); });//最后返回里面id值最大的那个数 返回Math.max.apply (null, arr); }
外部调用maxBookCode() + 1就能自动生成编号并且是自增的。
到此这篇关于Javascript中Math.max和Math.max.apply的区别和用法的文章就介绍到这了,更多相关Javascript中Math.max和Math.max.apply的区别和用法内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!