zoukankan      html  css  js  c++  java
  • apply通过实例理解

    测试->运行环境chrom console

    >var aaa = {a:1,b:2,c:function(){console.log(this.a)}}

    运行结果:undefined

    >aaa.c();

    运行结果:1

    >var bbb = {a:10,b:20}

    运行结果:undefined

    >aaa.c.apply(bbb);   //bbb对象执行aaa对象c()方法。c方法里面的this对象当然变成是bbb对象了。 通俗理解:bbb对象替换掉aaa对象,并执行方法。

    运行结果:10

    总结:

    apply是function对象的一个方法。

    apply作用:让参数对象执行其它对象方法的作用。

    实例一
    <script language="javascript"> function Person(name){ this.name=name; this.sayname=function (){ alert(this.name); } } function Student(name){ Person.apply(this,arguments); } var xiaoming=new Student("小明"); xiaoming.sayname(); </script>
    实例二
    <script language="javascript"> /**定义一个animal类*/ function Animal(){ this.name = "Animal"; this.showName = function(){ alert(this.name); } } /**定义一个Cat类*/ function Cat(){ this.name = "Cat"; } /**创建两个类对象*/ var animal = new Animal(); var cat = new Cat(); //通过call或apply方法,将原本属于Animal对象的showName()方法交给当前对象cat来使用了。 //输入结果为"Cat" animal.showName.call(cat,","); //animal.showName.apply(cat,[]); </script>   

      

  • 相关阅读:
    pycharm出现乱码
    Name-based virtual servers 给予名称的虚拟服务
    预建报为稳定版本
    nginx指令
    Module ngx_http_index_module nginx的首页模块
    我还在坚持中~
    手机端页面自适应解决方案—rem布局进阶版
    前端页面的适配使用rem换算
    js零碎知识汇总
    让input不可编辑
  • 原文地址:https://www.cnblogs.com/chenweichu/p/5673851.html
Copyright © 2011-2022 走看看