js如何判断函数或者方法中的this指向谁?四句话
2016-01-13 18:39
651 查看
1.谁作为拥有者调用它就指向谁
2.bind谁就指向谁
3.没有拥有者,直接调用,就指向window
4.call谁就是谁,apply谁就是谁,其实bind就是通过call和apply实现的
其中2覆盖掉1
function a() { console.log(this); } var b = {}; b.hehe = a; b.hehe(); //这时候this指向b//常见的就是绑定事件
2.bind谁就指向谁
function a() { console.log(this); } var b = {}; var c = {}; b.hehe = a.bind(c); b.hehe(); //这时候this指向c//如果你用bind的话
3.没有拥有者,直接调用,就指向window
function a() { console.log(this); } a(); //this指向window
4.call谁就是谁,apply谁就是谁,其实bind就是通过call和apply实现的
其中2覆盖掉1
相关文章推荐
- ajax请求添加随机数防止js缓存
- jsp 入门
- js 字符串转换数字
- javascript获取时间的各个部分
- 重识Javascript系列---ECMAScript继承
- JSP日期格式化显示
- extjs表单验证
- JavaScript模块系统的现状
- jsp页面格式化数字或时间,yyyy-MM-ss HH:mm:ss
- 1.2-JavaScript对象的多态性
- seajs 之define函数
- Google Gson的使用方法,实现Json结构的相互转换
- C# DataTable转换成JSON数据
- js非空判断
- alert 替代效果smoke.js
- JSON数据理解
- 《JS高级程序设计》读书笔记
- 详解JavaScript中localStorage使用要点
- 上传插件webuploader.js的使用示例
- jsoncpp 构造空数组