apply和call这两个方法个人粗浅的理解是一个对象有权使用另一个对象的方法。

<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
    <script type="text/javascript">
    function add(a,b){
        return a+b;
    }
    function sub(a,b){
        return a-b;
    } 
    console.log(add.call(sub, 3,1));
    </script>
</body>
</html>

运行代码,控制台输出为4。在这里add和sub是两个函数对象。add.call(sub,3,1)是说对象sub可以是用add的方法并执行。结果输出为4。

也可以改为add.call(sub,[3,1]),执行结果也为4.

posted on 2016-01-11 18:19  北冥鱼鱼鱼  阅读(189)  评论(0编辑  收藏  举报