js中.bind()和.call()用法讲解
2024-09-04 08:38:32
var option = {
ti : 8,
it(){
return this.ti;
}
}
这里又一个option对象,it()方法里的this指的就是option对象的上下文。
console.log(option.it());
直接输出option.it()可以打印出8,option对象作为全局变量可以直接调用;
那我如果只想用option里的it()方法呢,如这样:
var option = {
ti : 8,
it(){
return this.ti;
}
}
var option2 ={
ti :7
}
var nb = option.it.call(this.option);//call里的this>wiondow对象
var nb2 = option.it.call(option2);
console.log(nb);//
console.log(nb2);//
console.log(option.it());//
nb2这个对象,将option里的this指向了option2,所以this.ti相当于option2.ti;
bind和call用法差不多,call返回的是对象,bind返回的是一个函数。如果var bn2 = option.ti.bind(option2);那么在调用的时候就要
console.log(nb2())
console.log(nb2())
最新文章
- SQL Server 数据库备份还原和数据恢复
- DeviceOne接受了DevStore的专访
- 【真的是随笔】如何利用htaccess把网站流量引到一个页面上(站点维护页效果)
- Symantec Backup Exec备份作业服务器盘符变更
- WebViewJavascriptBridge-Obj-C和JavaScript互通消息的桥梁
- xlistview的XML(头)xlistview_header
- Madwifi Mad coding:自底向上分析associated_sta的更新过程 —— RSSI和MACADDR等信息获取的底层原理
- BZOJ 1806 IOI2007 Miners 矿工配餐 动态规划
- keil中使用_at_绝对地址定位
- SQLLoader7(只导入数据文件的其中几行记录)
- SQL Server AlwaysOn 故障转移
- alv行可编辑时带出描述
- Java使用千分位并保留两位小数
- C/C++基础知识总结
- 深入理解JVM(2)——运行时数据区
- Vmware Workstation _linux yum 仓库搭建
- HDU2732 Leapin' Lizards 网络流 最大流 SAP
- java byte数组与String的相互转换
- Linux vi/vim替换命令的使用说明[转]
- 工作流和过程自动化框架 Camunda BPM