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

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

hot3.png

通过几个例子了解apply、call、bind的区别

var user = {    name:"kim",    getName:function(){        console.log(this.name);    }}var func = user.getName;func(); //undefineduser.getName();// kim

我们是想打印user中的name属性,但是却打印出了undefined,why?直接执行user.getName是可以的

1.call()

var user = {    name:"kim",    getName:function(action, thing){        console.log(this.name + " " + action + " " + thing);    }}var func = user.getName;func.call(user, 'eat', 'rice') //kim eat rice

2.apply()

var user = {    name:"kim",    getName:function(action, thing){        console.log(this.name + " " + action + " " + thing);    }}var func = user.getName;func.apply(user, ['drive', 'car']) //kim drive car

3.bind()

var user = {    name:"kim",    getName:function(action, thing){        console.log(this.name + " " + action + " " + thing);    }}var func = user.getName;var func1 = func.bind(user);func1('like','coding') //kim like coding

 

转载于:https://my.oschina.net/kimyeongnam/blog/1793226

你可能感兴趣的文章
Android Arcface人脸识别sdk使用工具类
查看>>
编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字......
查看>>
050:navie时间和aware时间详解
查看>>
百度地图车辆运动轨迹
查看>>
使用ReaderWriterLock类实现多用户读/单用户写同步
查看>>
springmvc + mybatis + ehcache + redis架构
查看>>
Python正则表达式初识(十)附正则表达式总结
查看>>
APICLOUD 1.1.0 开发环境搭建
查看>>
《Cadence 16.6电路设计与仿真从入门到精通》——导读
查看>>
Confluence 6 如何让我的小组成员知道那些内容是重要的
查看>>
索引失效的几个原因
查看>>
五险一金,你清楚吗?
查看>>
Ip核_fifo
查看>>
repquota命令--Linux命令应用大词典729个命令解读
查看>>
rabbitmq 管理及常用命令
查看>>
HTTP要被抛弃? 亚洲诚信携手宝塔开启HTTPS加密快速通道
查看>>
6.6 tar打包
查看>>
Spring MVC核心技术
查看>>
TCP协议如何保证传输的可靠性
查看>>
Spring Cloud云架构 - SSO单点登录之OAuth2.0 登出流程(3)
查看>>