zoukankan      html  css  js  c++  java
  • apply和call的区别在哪里

    apply:方法能劫持另外一个对象的方法,继承另外一个对象的属性.

    Function.apply(obj,args)方法能接收两个参数
    obj:这个对象将代替Function类里this对象
    args:这个是数组,它将作为参数传给Function(args-->arguments)


    call:和apply的意思一样,只不过是参数列表不一样.


    Function.call(obj,[param1[,param2[,…[,paramN]]]])
    obj:这个对象将代替Function类里this对象
    params:这个是一个参数列表

    call示例:

                /*定义一个人类*/
                function Person(name,age){
                    this.name = name;
                    this.age = age;
                }
                /*定义一个学生*/
                function Student(name,age,grade){
                    Person.call(this,name,age,grade);
                    this.grade = grade;
                }
                /*实例化一个学生*/
                var student = new Student("张三",21,"一年级");
                alert("name:"+student.name+"
    "+"age:"+student.age+"
    "+"grade:"+student.grade);

    apply示例:

               <script>
                   /*定义一个人类*/
                   function Person(name,age){
                       this.name = name;
                       this.age = age;
                   }
                   /*定义一个学生*/
                   function Student(name,age,grade){
                       this.grade = grade;
                       Person.apply(this,arguments);
    
                   }
                   /*实例化一个学生*/
                   var student = new Student("张三",21,"一年级");
                   alert("name:"+student.name+"
    "+"age:"+student.age+"
    "+"grade:"+student.grade);
               </script>
  • 相关阅读:
    pymysql模块的简单操作
    day21--继承--派生
    subprocess模式,re模式,logging模块, 防止测试自动执行, 包的理论
    前端知识
    Django框架
    jieba/word cloud
    python语法基础知识
    Vue框架——Vue指令
    Vue框架基础
    Django——静态文件配置和连接数据库
  • 原文地址:https://www.cnblogs.com/fan-fan/p/3550606.html
Copyright © 2011-2022 走看看