call()与apply()简单介绍
来源:互联网 发布:bi li哔哩哔哩mac 编辑:程序博客网 时间:2024/06/10 03:17
call 和 apply 都是为了动态改变某个函数运行时的上下文而存在的,即改变函数体内部 this 的指向。call 和 apply 主要的区别在于他们的声明方式不同。call 需要参数分开传递,而 apply 需要传入由参数组成的数组。
ep:
function people() {} people.prototype = { say: function() { alert("hell word"); }}var student = new people();student.say(); //hello worldstudent2 = {}; //没有say()方法student.say.call(student2); //hello worldstudnet.say.apply(student2); //此时的student2可以使用say()方法
(1).传递参数
ep:
function sum(x,y) { return x+y;}function call1(num1,num2) { return sum.call(this,num1,num2);}function apply1(num1,num2) { return sum.apply(this,[num1,num2]); //参数为数组形式}
(2).改变函数运行的作用域
window.color = 'red';var obj = {color: 'blue'};function showColor() { alert(this.color); }showColor.call(this); //redshowColor.call(obj); //blue
0 0
- call()与apply()简单介绍
- call与apply函数
- call与apply
- JS Call()与Apply()
- JS call与apply
- JS Call()与Apply()
- js apply 与 call
- 2.2-call与apply
- call apply 与 bind
- call() 与 apply()区别
- js call与apply
- call与apply区别
- call 与 apply
- JavaScript call 与 apply
- apply与call
- call()、apply()与bind()
- call与apply
- call与apply
- 【OpenCV入门指南】第五篇轮廓检测 下
- java lock 与 synchronized
- 软件设计——原则
- inputtype 代码对应表
- Android Volley完全解析
- call()与apply()简单介绍
- linux下各种工具的配置
- Java语法基本篇:java处理数组
- 关于java中类型参数的通配符总结
- linux GDB调试程序(一)
- AnyPref,可直接在SharedPreferences中保存对象实例的SharedPreferences工具类
- 27. Remove Element
- 2016-06-13-课程设计日志
- 三种边缘检测算子