js 对call apply bind理解
2024-09-28 21:38:25
请参考 http://www.cnblogs.com/xljzlw/p/3775162.html 1.call和apply的区别:参数类型不同
var mtt = {
name: "mtt",
sayHello: function (age) {
console.log("hello, i am ", this.name + " " + age " years old");
}
}; var xjs = {
name: "xjs ",
}; mtt.sayHello(24);// hello, i am zlw 24 years old apply参数需要是数组形式,而call参数需要用逗号隔开24,25
mtt .sayHello.call(xjs , 24);// hello, i am xjs 24 years old
mtt .sayHello.apply(xjs , [24]);// hello, i am xjs 24 years old bind方法传递给调用函数的参数可以逐个列出,也可以写在数组中。bind方法与call、apply最大的不同就是前者返回一个绑定上下文的函数
mtt .sayHello.bind(xjs)(24); //hello, i am xlj 24 years old
mtt .sayHello.bind(xjs)([24]); //hello, i am xlj 24 years old 2.bind
var bind = Function.prototype.call.bind(Function.prototype.bind); var zlw = {
name: "zlw"
}; function hello () {
console.log("hello, I am ", this.name);
} bind(hello, zlw)() // hello, I am zlw
最新文章
- ffmpeg-201612[01,08,10,17,21,27,30]-bin.7z
- Sql 获取向上取整、向下取整、四舍五入取整的实例
- <;if>;<;else/>;<;/if>; 语句
- 点击 Run 之后发生了什么?
- Java Lock
- 再次理解JavaScript原型链和匿名函数
- Method Swizzling 和 AOP 实践(转)
- linux内核驱动中_IO, _IOR, _IOW, _IOWR 宏的用法与解析
- AndroidStudio字体主题样式分享
- 使用MySQL的LAST_INSERT_ID--转
- (三)Android中Intent概念及应用
- string___assign
- [刷题]算法竞赛入门经典(第2版) 5-6/UVa1595 - Symmetry
- 安装mvn,jdk,rocketmq
- Mac从零配置Vim
- java stream 原理
- FirewallD 快速使用文档
- web 文件上传的几种方式
- vue+betterscrool实现横向弹性滚动
- MAC OS 更新GIT版本时遇到的问题
热门文章
- linux printf
- 电子地图/卫星地图下载并转存为jpg图片
- 用python实现一个简单的socket网络聊天通讯 (Linux --py2.7平台与windows--py3.6平台)
- VS2010/MFC编程入门之四十九(图形图像:CDC类及其屏幕绘图函数)
- Linux基础命令---resizefs
- C/C++之Memcpy and memmove
- ACM题目————STL + 全排列
- Python Web学习笔记之socket套接字
- Python3 爬取微信好友基本信息,并进行数据清洗
- 在Android Studio中创建项目和模拟器