js call/apply

作用:改变this指向
使用:它是function对象的方法。
        function P(name,age){
                this.name=name;
                this.age=age;
        }
        var obj={};
        P.call(obj,"xiaoliu",20);
        console.log(obj);//{name: "xiaoliu", age: 20}
借用别人的方法来实现自己的功能(针对一个对象)
function P(name,age){
                this.name=name;
                this.age=age;
        }
        function S(sex){
            this.sex=sex;
        }
        var p=new P("wangmazi",12);
        S.call(p,"NAN");
借用别人的方法来实现自己的功能(针对构造函数创建出来所有的对象)
         function S(sex){
            this.sex=sex;
        }

        function P(name,age,sex){
                this.name=name;
                this.age=age;
                S.call(this,sex);
        }
        var p=new P("wangmazi",12,"男");
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、call和apply 1、call和apply都是function.prototype的方法,每一个方法的对象...
    kiwi_leo阅读 1,588评论 0 0
  • call,apply,bind这三个方法其实都是继承自Function.prototype中的,属于实例方法,只能...
    西兰花伟大炮阅读 231评论 0 0
  • 工厂模式类似于现实生活中的工厂可以产生大量相似的商品,去做同样的事情,实现同样的效果;这时候需要使用工厂模式。简单...
    舟渔行舟阅读 7,931评论 2 17
  • call aplly方法的作用相同,区别仅在于接收参数的方式不同。call 传递参数是一一列举。apply 是以数...
    Veycn阅读 378评论 0 1
  • Lua 5.1 参考手册 by Roberto Ierusalimschy, Luiz Henrique de F...
    苏黎九歌阅读 13,967评论 0 38