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>
转载于:https://www.cnblogs.com/chenweichu/p/5673851.html
apply通过实例理解相关推荐
- 通过实例理解 RabbitMQ 的基本概念
先说下自己开发的实例. 最近在使用 Spring Cloud Config 做分布式配置中心(基于 SVN/Git),当所有服务启动后,SVN/Git 中的配置文件更改后,客户端服务读取的还是旧的配置 ...
- 通过实例理解 JDK8 的 CompletableFuture
转载自 通过实例理解 JDK8 的 CompletableFuture 前言 Java 5 并发库主要关注于异步任务的处理,它采用了这样一种模式,producer 线程创建任务并且利用阻塞队列将其传递 ...
- 通过实例理解Go Execution Tracer
本文永久链接[1] - https://tonybai.com/2021/06/28/understand-go-execution-tracer-by-example Netflix(奈飞公司)的性 ...
- 使用JDBC实例理解数据库的事务隔离
使用JDBC实例理解数据库的事务隔离 数据库的事务是用来处理数据的一个机制,作为一个整体,要么全部提交,要么全部回滚. 事务的4大特性(ACID): 原子性(Atomicity):事务是数据库 ...
- call/apply/bind 的理解与实例分享
call/apply 可以改变函数的this指向. 除了传递参数时有所差别,call和apply作用完全一样. var tim = { name: 'tim', age: 20, getName: f ...
- 通过实例理解javascript 的call()与apply()
先前使用javascript多是为了表单验证,最多是实现客户端的交互功能.基本不用call.apply之类的难懂方法. 现在流行富客户端了.javascript也越来越对象化了.不得不学习一下! 一. ...
- javascript下的arguments,caller,callee,call,apply示例及理解
在看到大家如此关注JS里头的这几个对象,我试着把原文再修改一下,力求能再详细的阐明个中意义.在提到上述的概念之 前,首先想说说javascript中函数的隐含参数:arguments Argument ...
- 对抽象工厂+反射+配置文件的实例理解
第一遍学习设计模式时,总有飘飘然的感觉.<大话设计模式>这本书虽然读起来挺有趣味,也感觉比其他讲设计模式的书好理解一些.但是真要用在机房收费系统时还是费劲的.米老师讲过:思想要上移,行动要 ...
- spring aop实例讲解_小实例理解Spring中的AOP----面向切面编程
关于面向切面编程(Spring AOP),是在java面试中经常提及的,只有在充分理解了,日常工作中才能得心应手. 如何理解AOP呢?首先我们要思考为什么要使用切面编程,如下图: 对于一个系统来说保存 ...
最新文章
- 【Python】青少年蓝桥杯_每日一题_12.19_输出三位数
- UnboundLocalError: local variable ‘XXX‘ referenced before assignment解决办法
- Acwing第 11 场周赛【未完结】
- 百练OJ:1007:DNA排序
- ios34---GDC,dispatch_once
- mysql 内部安全性_MySQL数据库的内部以及外部安全性简介
- dataframe中多列除以不同列_Python之DataFrame切片与索引实验
- java初学者必看经典
- 你不是颠覆 IoT,就是被 IoT 颠覆!
- Flash 插件又被曝出新漏洞,让攻击者可以控制 Mac
- JAVA面试宝典2018-2019
- warning: Pulling without specifying how to reconcile divergent branches is discouraged. You can sque
- VBA—Doevents说明
- Beats:如何在 Elastic Stack 中得到并使用 Root CA Certificate fingerprint
- 3D图库框架范围与示例
- 多指标评价方法-变异系数法的pathon实现
- AI-统计学习(11)-改进的迭代算法及拟牛顿法
- 实现图片文字识别的方法有哪些
- android 代码控制TextView的字体加粗
- 计算机软件 算什么资产,软件属于固定资产吗
热门文章
- 深度学习框架太抽象?其实不外乎这五大核心组件
- 机器学习理论篇:机器学习的数学基础
- 通信原理中的几个重要概念
- 我的世界正版moba服务器,hello_world
- html自定义radio样式,用纯CSS 自定义radio checkbox 样式
- 计算机游戏的英文单词,关于游戏的英语词汇
- android dtb文件位置_android MSM8974 上DeviceTree简介
- 海信电视root工具_海信璀璨系列家电:一次购买便能享受全方位智能家居生活...
- idea中package和directory的区别
- 接口中可以有静态方法吗?