zoukankan      html  css  js  c++  java
  • call apply 使用

    1、call 跟 apply的主要区别:

     call传入参数是一个一个传入,而 apply 使用的是数组传入

     call(obj,arg1,arg2,arg3,arg4)

     apply(obj,[arg1,arg2,arg3,arg4]);

    2、使用场景:

       2.1 方法调用:

              

      var say=  function (msg)
            {
                console.info("Say:" + msg);
            }
            var man = function (_name)
            {
                this.name=_name;
            }
    
           
    
            var m = new man("rhythmk");
            say.call(m, m.name);
            //Say:rhythmk 

       2.2 类继承:

            var poper = function (_name)
            {
                // 继承
                /*
                   call(替换对象,参数1,参数2,参数3)
                   也可以通过call实现多继承
                */
                man.call(this, _name);
            }
    
            var p = new poper("pname");
            console.log(p.name);
    
    
    
            console.error("开始验证 call 跟 apply 区别:");
    
    
            var animal = function (_name, _age, _type)
            {
                this.name = _name;
                this.age = _age;
                this.type = _type;
                this.show = function () {
                    var msg = this.name + ",age:" + this.age + ",type:" + this.type;
                    console.log(msg);
                };
            }
    
            var dog = function (_name, _age) {
                animal.call(this, _name, _age,'dog');
            }
            var pig = function (_name, _age) {
                animal.apply(this, [_name, _age,'pig'])
            }
    
            var d1 = new dog("d1", 12);
            d1.show();
    
            var p1 = new pig("p1", 10);
            p1.show()
  • 相关阅读:
    vue基础知识
    git的创建使用
    使用express搭建服务器框架
    日常训练
    今日收获
    今日收获
    今日收获
    今日收获
    今日收获
    今日收获
  • 原文地址:https://www.cnblogs.com/rhythmK/p/3967167.html
Copyright © 2011-2022 走看看