频道栏目
首页 > 资讯 > JavaScript > 正文

JavaScript中的apply()方法和call()方法

17-01-16        来源:[db:作者]  
收藏   我要投稿

相同点:

apply和call方法都是Function.prototype原型中,他们可以改变this的指向,而且都是直接调用函数

不同点:

apply:参数传入的是数组

call:参数传入的是一个一个的

<!DOCTYPE html>  
<html>  
<head lang="en">  
    <meta charset="UTF-8">  
    <title></title>  
</head>  
<body>  
<script>  
    //call和apply通过对象调用的时候,如果传入的是null,那么函数中的this就是window对象  
    //call和apply通过对象调用的时候,如果传入的是对象,那么函数中的this就是当前传入的对象  
    //如果传入的是数组,那么this就是当前的数组对象  
    function f1(num1, num2) {  
        //当前this的指向  
        console.log(this);  
        //调用this中的属性  
        console.log("name=" + this.name);  
        console.log(num1+num2);  
    }  
    var stu = {name:"kevin", age:12};  
    f1(1, 2);  
//    call和apply调用的时候,传入的第一个参数改变了f1中this的指向  
//    apply的参数要使用数组  
//    call和apply方法都可以调用f1中的属性  
    f1.call(stu, 10, 20);  
    f1.apply(stu, [100, 200]);  
</script>  
</body>  
</html>

结果:

相关TAG标签
上一篇:多列布局
下一篇:css3传统布局
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站