测试->运行环境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> 

  

转载于:https://www.cnblogs.com/chenweichu/p/5673851.html

apply通过实例理解相关推荐

  1. 通过实例理解 RabbitMQ 的基本概念

    先说下自己开发的实例. 最近在使用 Spring Cloud Config 做分布式配置中心(基于 SVN/Git),当所有服务启动后,SVN/Git 中的配置文件更改后,客户端服务读取的还是旧的配置 ...

  2. 通过实例理解 JDK8 的 CompletableFuture

    转载自 通过实例理解 JDK8 的 CompletableFuture 前言 Java 5 并发库主要关注于异步任务的处理,它采用了这样一种模式,producer 线程创建任务并且利用阻塞队列将其传递 ...

  3. 通过实例理解Go Execution Tracer

    本文永久链接[1] - https://tonybai.com/2021/06/28/understand-go-execution-tracer-by-example Netflix(奈飞公司)的性 ...

  4. 使用JDBC实例理解数据库的事务隔离

    使用JDBC实例理解数据库的事务隔离 数据库的事务是用来处理数据的一个机制,作为一个整体,要么全部提交,要么全部回滚.     事务的4大特性(ACID): 原子性(Atomicity):事务是数据库 ...

  5. call/apply/bind 的理解与实例分享

    call/apply 可以改变函数的this指向. 除了传递参数时有所差别,call和apply作用完全一样. var tim = { name: 'tim', age: 20, getName: f ...

  6. 通过实例理解javascript 的call()与apply()

    先前使用javascript多是为了表单验证,最多是实现客户端的交互功能.基本不用call.apply之类的难懂方法. 现在流行富客户端了.javascript也越来越对象化了.不得不学习一下! 一. ...

  7. javascript下的arguments,caller,callee,call,apply示例及理解

    在看到大家如此关注JS里头的这几个对象,我试着把原文再修改一下,力求能再详细的阐明个中意义.在提到上述的概念之 前,首先想说说javascript中函数的隐含参数:arguments Argument ...

  8. 对抽象工厂+反射+配置文件的实例理解

    第一遍学习设计模式时,总有飘飘然的感觉.<大话设计模式>这本书虽然读起来挺有趣味,也感觉比其他讲设计模式的书好理解一些.但是真要用在机房收费系统时还是费劲的.米老师讲过:思想要上移,行动要 ...

  9. spring aop实例讲解_小实例理解Spring中的AOP----面向切面编程

    关于面向切面编程(Spring AOP),是在java面试中经常提及的,只有在充分理解了,日常工作中才能得心应手. 如何理解AOP呢?首先我们要思考为什么要使用切面编程,如下图: 对于一个系统来说保存 ...

最新文章

  1. 【Python】青少年蓝桥杯_每日一题_12.19_输出三位数
  2. UnboundLocalError: local variable ‘XXX‘ referenced before assignment解决办法
  3. Acwing第 11 场周赛【未完结】
  4. 百练OJ:1007:DNA排序
  5. ios34---GDC,dispatch_once
  6. mysql 内部安全性_MySQL数据库的内部以及外部安全性简介
  7. dataframe中多列除以不同列_Python之DataFrame切片与索引实验
  8. java初学者必看经典
  9. 你不是颠覆 IoT,就是被 IoT 颠覆!
  10. Flash 插件又被曝出新漏洞,让攻击者可以控制 Mac
  11. JAVA面试宝典2018-2019
  12. warning: Pulling without specifying how to reconcile divergent branches is discouraged. You can sque
  13. VBA—Doevents说明
  14. Beats:如何在 Elastic Stack 中得到并使用 Root CA Certificate fingerprint
  15. 3D图库框架范围与示例
  16. 多指标评价方法-变异系数法的pathon实现
  17. AI-统计学习(11)-改进的迭代算法及拟牛顿法
  18. 实现图片文字识别的方法有哪些
  19. android 代码控制TextView的字体加粗
  20. 计算机软件 算什么资产,软件属于固定资产吗

热门文章

  1. 深度学习框架太抽象?其实不外乎这五大核心组件
  2. 机器学习理论篇:机器学习的数学基础
  3. 通信原理中的几个重要概念
  4. 我的世界正版moba服务器,hello_world
  5. html自定义radio样式,用纯CSS 自定义radio checkbox 样式
  6. 计算机游戏的英文单词,关于游戏的英语词汇
  7. android dtb文件位置_android MSM8974 上DeviceTree简介
  8. 海信电视root工具_海信璀璨系列家电:一次购买便能享受全方位智能家居生活...
  9. idea中package和directory的区别
  10. 接口中可以有静态方法吗?