码迷,mamicode.com
首页 > 移动开发 > 详细

call和apply的简单介绍

时间:2015-06-14 18:10:52      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:

call,apply基本一样,不同就是参数的传递

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<script>
window.onload=function () {

    function fn1 (a,b) 
    {
        console.log(this);
        console.log(a+b);
    }
    
    fn1.call(this,1,2);
}
</script>
</head>
<body>

</body>
</html>

得到的结果是,document,3,不信你在chrome、FF下打开看看
call能干的事,apply也能干,不过形式有点不同

fn1.apply(this,[1,2]);

apply第二个参数是以数组形式展现的,

下面用一个更典型的例子来说明apply用法

我们在在一堆数组中找一个最大的数,一般我们是这样干的

var arr=[3,55,99,3,62,83,17];
    
console.log( Math.max(3,55,99,3,62,83,17) );

结果显示是99。

但是当这个数组很长很长,或者是还不是很确定里面的个数时,我们该怎么去判断里面最大的值呢?这是apply出场了,

console.log( Math.max.apply(null,arr) );

前面的那个null可以不管,把这个数组塞进去就可以了,这样一样得到结果99。

 

call和apply的简单介绍

标签:

原文地址:http://www.cnblogs.com/masita/p/4575300.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!