博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
call()、apply()、bind()作用和区别
阅读量:4678 次
发布时间:2019-06-09

本文共 596 字,大约阅读时间需要 1 分钟。

一、call() 、apply()

  作用:让函数在某个指定的对象下执行

var obj = {x: 1}function foo() {console.log(this.x)}foo.call(obj)       //打印结果: 1

call() 和apply()的第一个参数相同,就是指定的对象。这个对象就是该函数的执行上下文。

两者区别:参数的传递方式不同,apply()参数以数组的形式传递

var obj = {}; function foo(a, b, c) {  console.log(b);} foo.call(obj, 1, 2, 3)   //打印结果: 2;
var obj = {}; function foo(a, b, c) {  console.log(b);} foo.apply(obj, [1, 2, 3])   打印结果: 2;
function log(){  console.log.apply(console, arguments);};log(1);    //1log(1,2);    //1 2

 

二、bind()

bind() 方法会返回执行上下文被改变的函数而不会立即执行,而前两者是直接执行该函数。他的参数和call()相同

转载于:https://www.cnblogs.com/krystalcl/p/9687390.html

你可能感兴趣的文章
【转载】云存储的故事---元数据归来
查看>>
随笔:拼了命找工作
查看>>
vue----webpack模板----vuex----modules子模块
查看>>
无线网络国际会议排名
查看>>
PERSONAL VALUES
查看>>
python文件操作
查看>>
java虚拟机的运行原理
查看>>
配置Oracle10g即时客户端plsql的配置
查看>>
关于设计:Actionscript 有关鼠标事件笔记2
查看>>
【LOJ】#2538. 「PKUWC2018」Slay the Spire
查看>>
Helper
查看>>
架构设计系列-前端模式的后端(BFF)翻译PhilCalçado
查看>>
常用dos命令
查看>>
Redis学习第四课:Redis List类型及操作
查看>>
满血复活前的记录(持续更新ing)
查看>>
vs2008使用过AnkhSVN后不能绑定到vss的问题解决
查看>>
在vue中使用sass
查看>>
IPv4组播通信原理
查看>>
Sql Server 新的日期类型
查看>>
“我爱淘”冲刺阶段Scrum站立会议8
查看>>