Math.min() / Math.max() 使用方法

首先弄懂apply 和 call 都是js函数自带的方法。区别如下:

apply和call的用法只有一个地方不一样,除此之外,其他地方基本一模一样

1. a.call(b,arg1,arg2…)

2. apply(b,[arg1,arg2]) //apply只有2个参数,它将call的参数(arg1,arg2…)放在一个数组中作为apply的第二参数

例1:apply的第一个参数传递作用域,第二个参数传递数组。

Math.min.apply(null, [1, 2, 3]) 等价于 Math.min(1, 2, 3)    // 1

下面再来看call有哪些用途:

一:实现继承

function Animal(name)
{
    this.name=name;
    this.showName=function()
    {
        alert(this.name)
    }
}
function Cat(name)
{
    Animal.call(this,name); //将Animal应用到Cat上,因此Cat拥有了Animal的所有属性和方法
}
var cat = new Cat(“Black Cat”);
cat.showName(); //浏览器弹出Black Cat

  

二.call方法的定义:

大家在百度里面可以搜索call,关于call的定义都很拗口。在我的理解,a.call(b,arg1,arg2..)就是a对象的方法应用到b对象上。例如如下例子:

function add(a,b)
{
    alert(a+b);
}
function reduce(a,b)
{
    alert(a-b);
}
add.call(reduce,1,3) //将add方法运用到reduce,结果为4

三.call可以改变this指向

function b()
{
    alert(this)
}
b(); //window
b.call(); //window
b.call(“a”,2,3); //a

再看一个复杂的例子:

function Animal()
{
    this.name=”animal”;
    this.showName=function()
    {
        alert(this.name)
    }
}
function Cat()
{
    this.name=”cat”;
}
var animal = new Animal(); //原型继承
var cat = new Cat();
animal.showName(); //结果为animal
animal.showName.call(cat); //原本cat没有showName方法,但是通过call方法将animal的showName方法应用到cat上,因此结果为 cat

  

  

时间: 2024-08-29 18:58:51

Math.min() / Math.max() 使用方法的相关文章

Math.min() Math.max() Math.min().apply() Math.max() .apply()该如何使用???

Math.min()和 Math.max()  语法: Math.min(x,y) Math.max(x,y) 虽然能取到最小值和最大值,但是不支持数组. 那么如何计算数组中的大小值呢????????????????????? Math.min().apply()  和   Math.max() .apply() 语法: Math.min.apply(obj,args); Math.max.apply(obj,args); 第一个参数obj对象将代替Function类里this对象,第二个参数是

复习C#的方法Math.Max和Math.Min

温故而知新,今天学习Math.Max和Min的方法.这2个方法,均需要传入2个参数,返回参数中最大值和最小值. class Ac { public void LeanMathFunction() { int min = Math.Min(5,3); Console.WriteLine("5,3最小值Min:{0}",min); int max = Math.Max(25,37); Console.WriteLine("25,37最大值Max:{0}", max);

js取最小最大值--Math.min()、math.max()

一.Math.min() 返回一组表达式中最小者 eg: var n = Math.min( 2 , 30 ,1 , 200-10 , 300*22 , 20-30 ); alert(n); //打印出n为 -10 ; 二.Math.max()  返回一组表达式中的最大者 eg: var n = Math.max( 2 , 30 ,1 , 200-10 , 300*22 , 20-30 ); alert(n); //打印出n为  6600;

5.7.2.2 min()和max()方法

Math对象还包含许多方法,用于辅助完成简单和复杂的数学计算. 其中,min()和max()方法用于确定一组数值中的最小值和最大值.这两个方法都可以接受任意多个数值参数,如下例子: var max = Math.max(3,54,32,16); alert(max);//54 var min = Math.min(3,54,32,16); alert(min);//3 对于3.54.32和16,Math.max()返回54,而Math.min()返回3.这两个方法经常用于避免多余的循环和在if语

javascript中Math函数的属性与方法

math函数的属性 Math.PI:返回圆周率. math函数的方法 绝对值: Math.abs(); 对数进行上舍入: Math.ceil(); 对数进行下舍入: Math.floor(); Math.pow(x, y); x的y次幂,y可以是分数 求最大最小值:Math.max();和Math.min(); max和min方法中可以有多个值. 随机数: Math.random(); 随生成一个0到1之间的随机数,包含0,不包含1 // 打印20到60之间的随机数 var random = p

Java中Math对象的属性与方法

Math.sqrt() ——————>计算平方根Math.cbrt()————————>计算立方根Math.pow(a, b)——————————>计算a的b次方Math.max( , )——————————>计算两个参数最大值Math.min( , )————————————>计算两个参数最小值Math.abs()————————>求绝对值Math.ceil()——————————>向上取整.如12.1----13Math.floor()——————————&g

3.python小技巧分享-使用min和max函数去找字典中的最大值和最小值

睡前分享一个小技巧- 使用min和max函数来巧妙的查找一个字典中的最大value和最小value. 比如说,现在有一个字典,字典的key是用户名,value则是这个用户的账户有多少钱. 现在想要找出账户内余额最多的用户,请问如何实现? d1 = {'suhaozhi':12345,'tony':4513,'eric':135,'jolin':13000000} 很简单,只要使用zip函数结合max函数就可以做到了. print max(zip(d1.values(),d1.keys())) #

Hive分析窗体函数之SUM,AVG,MIN和MAX

Hive中提供了非常多的分析函数,用于完毕负责的统计分析. 本文先介绍SUM.AVG.MIN.MAX这四个函数. 环境信息: Hive版本号为apache-hive-0.14.0-bin Hadoop版本号为hadoop-2.6.0 Tez版本号为tez-0.7.0 构造数据: P088888888888,2016-02-10,1 P088888888888,2016-02-11,3 P088888888888,2016-02-12,1 P088888888888,2016-02-13,9 P0

Visual C++中min()和max()函数的使用

标准库在<algorithm>头中定义了两个模板函数std::min() 和 std::max().通常用它可以计算某个值对的最小值和最大值. 可 惜在 Visual C++ 无法使用它们,因为没有定义这些函数模板.原因是名字min和max与<windows.h>中传统的min/max宏定义有冲突.为了解决 这个问题,Visual C++ 定义了另外两个功能相同的模板:_cpp_min() 和 _cpp_max().我们可以用它们来代替std::min() 和 std::max()