当前位置: 首页 > news >正文

js call、apply、bind

js中可以通过call、apply、bind来切换或固定this的指向。

call

func.call(this.value, arg1,arg2,...)
复制代码

ag:

var obj = {a:10};
var a = 30;
function add(val){
    return this.a + val;
}

add.call(this, 20);
复制代码

apply

apply用法与call类似,唯一的却别是apply的参数以数组的形式传入
复制代码
func.apply(thisValue, [arg1, arg2...])
复制代码

ag:

var obj = {a:10};
var a = 30;
function add(val){
    return this.a + val;
}

add.call(this, [10]);
复制代码

bind

bind用于将函数体内的this绑定到某个对象,返回一个新的函数。
复制代码

用变量接收对象的方法:

var d = new Date()
d.getTime();

var print = d.getTime;
print() //Uncaught TypeError: this is not a Date object.
复制代码

改写方法:

var d = new Date()
d.getTime();

var print = d.getTime.bind(d);
print();
复制代码

相关文章:

  • 响应报文的数据
  • 64bit ubuntu 安装32bit的软件
  • 云视频会议已成未来发展必然趋势
  • Werkzeug 教程
  • 浅谈Socket编程(c++语言)
  • spring cloud开发、部署注意事项
  • Zabbix 的 MySQL 监控客户端配置
  • CentOS7下yum安装Jenkins
  • 一点一点看JDK源码(三)java.util.ArrayList 前偏
  • JQuery中使用Ajax无法赋值给全局变量的解决方案
  • 使用mvn生成webapp失败,尚未找到原因
  • Repository updates is listed more than once in the configuration问题的解决方法
  • MATLAB函数flow
  • [Python3网络爬虫开发实战] 5.3-非关系型数据库存储
  • power shell测试wmi
  • JavaScript 如何正确处理 Unicode 编码问题!
  • 【Linux系统编程】快速查找errno错误码信息
  • Centos6.8 使用rpm安装mysql5.7
  • Java到底能干嘛?
  • Mysql优化
  • spring boot下thymeleaf全局静态变量配置
  • Vue 2.3、2.4 知识点小结
  • 分类模型——Logistics Regression
  • 浅谈Golang中select的用法
  • 系统认识JavaScript正则表达式
  • 一道闭包题引发的思考
  • 小白应该如何快速入门阿里云服务器,新手使用ECS的方法 ...
  • ​​​​​​​​​​​​​​Γ函数
  • ​【C语言】长篇详解,字符系列篇3-----strstr,strtok,strerror字符串函数的使用【图文详解​】
  • ​业务双活的数据切换思路设计(下)
  • #Js篇:单线程模式同步任务异步任务任务队列事件循环setTimeout() setInterval()
  • #LLM入门|Prompt#1.8_聊天机器人_Chatbot
  • #Ubuntu(修改root信息)
  • $.type 怎么精确判断对象类型的 --(源码学习2)
  • (10)工业界推荐系统-小红书推荐场景及内部实践【排序模型的特征】
  • (echarts)echarts使用时重新加载数据之前的数据存留在图上的问题
  • (pt可视化)利用torch的make_grid进行张量可视化
  • (PyTorch)TCN和RNN/LSTM/GRU结合实现时间序列预测
  • (zt)最盛行的警世狂言(爆笑)
  • (附源码)spring boot火车票售卖系统 毕业设计 211004
  • (六)vue-router+UI组件库
  • (全部习题答案)研究生英语读写教程基础级教师用书PDF|| 研究生英语读写教程提高级教师用书PDF
  • (全注解开发)学习Spring-MVC的第三天
  • (三)Honghu Cloud云架构一定时调度平台
  • (十)T检验-第一部分
  • (转载)OpenStack Hacker养成指南
  • .NET Core使用NPOI导出复杂,美观的Excel详解
  • .net mvc部分视图
  • .NET 使用 ILRepack 合并多个程序集(替代 ILMerge),避免引入额外的依赖
  • .NET构架之我见
  • .NET基础篇——反射的奥妙
  • .NET开发者必备的11款免费工具
  • /etc/sudoer文件配置简析
  • /usr/bin/env: node: No such file or directory
  • /usr/bin/perl:bad interpreter:No such file or directory 的解决办法