修改this的指向
2024-09-02 17:30:45
call
var a={
name:'xuux',
fn:function(a,b){
console.log(a+b);//
console.log(this);//{name: "xuux", fn: ƒ}
}
}
var b=a.fn;
b.call(a,1,2);//传入的参数要分别放入
console.log(b);//ƒ (a,b){console.log(a+b); console.log(this);}
apply
var a={
name:'xuux',
fn:function(a,b){
console.log(a+b);//
console.log(this);//{name: "xuux", fn: ƒ}
}
}
var b=a.fn;
b.apply(a,[1,2]);//传入的参数用数组存放
console.log(b);//ƒ (a,b){console.log(a+b); console.log(this);}
bind 返回的是一个修改后的函数。需要另外调用。
var a={
name:'xuux',
fn:function(a,b){
console.log(a+b);//
console.log(this);//{name: "xuux", fn: ƒ}
}
}
var b=a.fn;
var c=b.bind(a,1);//传入的参数按顺序赋值
c(2);
最新文章
- JSON.parse与eval的区别
- [转]File Descriptor泄漏导致Crash: Too many open files
- Linux环境导入*.sql文件出现数据库为空
- MSSQL如何在没有主键的表中删除重复数据
- C# 生成windows 服务打包程序
- xib命名注意事项--防止被其他控制器意外地 当做默认的 view了
- c++编程规范的纲要和记录
- hdoj 1241 Oil Deposits
- ubuntu 14.04.02 LTS 启动项误写入 /dev/sda1 (win 7 loader) 修复
- IOS 播放音频
- boost function对象
- Java笔记:开发环境
- python中可变与不可变类型变量中一些较难理解的地方
- so库链接和运行时选择哪个路径下的库?
- C++ 动态链接库 DLL 的一些笔记
- Ubuntu18.04安装RabbitMQ
- Linux 查看系统硬件信息[转]
- python中unicode 和 str相互转化
- 深入理解ASP.NET MVC(8)
- NPM安装依赖速度慢问题