超容易理解的call()、apply()、bind()的区别
2024-09-06 16:22:14
call()、apply()、bind()是用来改变this的指向的。
一 举个例子
一个叫喵喵的猫喜欢吃鱼,一个叫汪汪的小狗喜欢啃骨头,用代码实现如下:
有一天,小狗汪汪和喵喵共进午餐的时候,汪汪说自己想尝尝小鱼干的味道,但是因为有刺,喵喵就想了个办法,说自己先吃,完了喂给汪汪。
这样,汪汪就吃到了美味的鱼干。可是汪汪每吨都想来点小鱼干,喵喵还要工作去捉老鼠,所以它们又想了一个办法,喵喵把吃鱼的方法教给汪汪。这样,每次汪汪就可以自己吃小鱼干了。
bind()方法在这里再多说一下,bind的时候传的参数会预先传给返回的方法,调用方法时就不用再传参数了。
撇开上面的例子,看看一个特殊情况:
最新文章
- [Machine Learning &; Algorithm]CAML机器学习系列1:深入浅出ML之Regression家族
- 图解说明——究竟什么是Windows句柄
- 高校排名 加强版(codevs 2799)
- 新浪微博客户端(23)-计算Cell内控件的frame
- http://jingyan.baidu.com/article/db55b609aac41e4ba30a2f86.html
- linux命令(12)uniq去重
- bzoj2241: [SDOI2011]打地鼠
- python登录csdn并自动评论下载资源脚本
- HDU 1561 树形DP(入门)
- Bzoj 1687: [Usaco2005 Open]Navigating the City 城市交通 广搜,深搜
- hibernate ThreadLocal
- PHP学习笔记十一【数组】
- 二分查找(非递归JAVA)
- 【原创】源码角度分析Android的消息机制系列(六)——Handler的工作原理
- win10 uwp App-to-app communication 应用通信
- WordCount优化版测试小程序实现
- C#子类重写父类函数的两种方法
- LinkedBlockingQueue源码分析
- MySQL中MyISAM和InnoDB两种主流存储引擎的特点
- strongSwan配置、运行及测试
热门文章
- could not insert: [com.trs.om.bean.UserLog] The user specified as a definer ('root'@'127.0.0.1') does not exist
- c++编译错误:invalid new-expression of abstract class type
- keystone同步数据库的时候提示error
- python 文本文件的写入
- SDUT-2804_数据结构实验之二叉树八:(中序后序)求二叉树的深度
- 【NS2】How to remove Cygwin completely from Windows
- windows dos命令下切换目录
- oralce GROUPING
- LeetCode75 Sort Colors
- H3C V.35接口线缆