文档章节

call()和apply()的学习笔记

L
 LM_Mike
发布于 2017/05/04 17:32
字数 227
阅读 6
收藏 0
function cat(){
    return this;
}
cat.prototype = {
    food:"fish",
    say:function(){
        alert("i love "+this.food);
    }
}

var blackCat = new cat();
blackCat.say();

如果我们有一个对象whiteDog = {food:"bone"},我们不想对它重新定义say方法,那么我们可以通过call或apply用blackCat的say方法:blackCat.say.call(whiteDog); 或者 cat.prototype.say.call(whiteDog);

所以,可以看出call和apply是为了动态改变this而出现的,当一个object没有某个方法,但是其他的有,我们可以借助call或apply用其他对象的方法来操作。

用的比较多的,通过document.getElementsByTagName选择的dom节点是一种类似array的array。它不能应用Array下的push、pop等方法。我们可以通过:

var domNodes = Array.prototype .slice.call(document.getElementsByTagName("*"))

关于call和apply的详细用法参考http://www.cnblogs.com/itstone/archive/2012/07/23/call.html

© 著作权归作者所有

共有 人打赏支持
L
粉丝 1
博文 266
码字总数 40994
作品 0
深圳
私信 提问
TypeScript学习笔记之六函数(重点箭头函数)

一、使用环境 Mac 电脑 WebStorm TypeScript3.x版本 二、基本函数 2.1、函数声明定义 2.2、函数表达式定义 2.3、用接口定义函数 2.4、函数参数:可选参数 和默认值参数 三、箭头函数 3.1、基...

摸着石头过河_崖边树
12/10
0
0
后台开发面试,必备核心知识点,CS学习笔记_笔经面经

后台开发面试,必备核心知识点,CS学习笔记 github.com/frank-lam/2019_campus_apply

linlicheng2009
08/27
109
2
Scala 学习笔记 模式匹配

1. 模式匹配简介 模式匹配是 Scala 的重要特性之一,前面两篇笔记Scala学习笔记(六) Scala的偏函数和偏应用函数、Scala学习笔记(七) Sealed Class 和 Enumeration都是为了这一篇而铺垫准备的...

Tony沈哲
2017/05/16
0
0
带你走入Kaggle 竞赛top20%的分析方法

Kaggle (Bike Sharing Demand)20% 题目:https://www.kaggle.com/c/bike-sharing-demand Github地址:https://github.com/cqychen/mykaggle/tree/master/Bike%20Sharing%20Demand 强调,特......

frbevrqbn4l
2017/12/19
0
0
2017-02-27

学习内容:angular.js控制器和脏检查使用apply 完成内容:学习内容及笔记详细,测试骰子游戏 关于磐石农商银行需求分析及主要业务逻辑 工作问题:关于磐石农商银行 积分,兑换,接口等问题询...

Full_Session
2017/02/27
1
1

没有更多内容

加载失败,请刷新页面

加载更多

李鸿章六百多字参倒豪门重臣,晚清第一奏折,藏尽顶级权谋话术!

道光二十七年(1847年),二十四岁的李鸿章高中进士,列二甲第十三名。 在此期间,有桩轶事挺有意思。 会试时,李鸿章的房师为当时的名士孙锵鸣。发榜后,孙锵鸣见自己这一房只考中了李鸿章、...

乔老哥
9分钟前
0
0
PTA-基础编程题目集-7-14 求整数段和

给定两个整数A和B,输出从A到B的所有整数以及这些数的和。 输入格式: 输入在一行中给出2个整数A和B,其中−100≤A≤B≤100,其间以空格分隔。 输出格式: 首先顺序输出从A到B的所有整数,每...

niithub
10分钟前
0
0
Spring Qualifier的使用

摘要 spring 的 qualifier 平常使用一般直接是使用id 来限定,不过spring给我们提供了更强大的功能。 使用方法 直接使用 直接在@Qualifier中限定bean的id 在bean上使用@Qualifier来指定后续使...

52iSilence7
12分钟前
0
0
【dup】和【pop】

dup: 复制栈顶元素并压入栈 pop: 出栈操作 代码 public class JvmTest1{    public static void testMethod(){ new JvmTest1();  }} 编译字节码文件 javap -c JvmTest1.cl...

时刻在奔跑
14分钟前
2
0
day179-2018-12-16-英语流利阅读-待学习

《海王》:上映 7 天,票房突破 9 亿,DC 要翻身? Daniel 2018-12-16 1.今日导读 这部电影堪称“有《阿凡达》般的视觉奇观,《指环王》般的史诗质感,《夺宝奇兵》般的寻宝历险,《狮子王》...

飞鱼说编程
22分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部