JavaScript之bind,call,apply
2024-10-14 16:02:13
参考:
- http://rangercyh.blog.51cto.com/1444712/1615809
function foo(a,b) {
this.x = this.x + a + b;
}
//case 1:
var obj = {x:3};
foo.apply(obj,[1,2]);
//obj <==> {x:6} //case 2:
var obj = {x:3};
foo.call(obj, 1, 2);
//obj <==> {x:6} //case 3:
var obj = {x:3};
var foo1 = foo.bind(obj, 1, 2);
foo1();
//obj <==> {x:6}
区别:
call与apply的区别在于apply中传给foo的参数统一放到第二个参数数组中,call从第二个参数起皆为传给foo的参数;
call与bind的区别,call将立刻执行,bind返回一个新函数;
最新文章
- touch — 设定文件的访问和修改时间
- [Matlab] 如何在矩阵中查找特定的字符串
- loadrunner录制脚本如何选择使用get请求和post请求的方式
- C语言之实现控制台光标随意移动
- 根据当前IP获取当时所在信息
- There is no Action mapped for namespace [/pages/action/student] and action name [findStudent]
- 让Eclipse使用新版本的JRE
- python cookbook学习1
- dirty cow exp
- linux文件分割(将大的日志文件分割成小的)【转载】
- Centos7虚拟机桥接模式
- java类型转化
- 自动化测试基础篇--Selenium鼠标键盘事件
- ID绘图工具的使用5.29
- hive-client heap内存大小的配置优先级
- angular2 bootstrap modal
- fragment做成选项卡,tab效果。 fragment+RadioGroup
- leetcode 搜索插入位置
- 在jupyter notebook中运行R语言
- 使图片相对于上层DIV始终水平、垂直都居中