js中关于this的用法,在初期时候经常会弄混,即使现在,也不敢说就一定不会混,但是起码好很多了。

函数执行过程中,主要有4种方法决定this的绑定对象。

分别为:默认绑定、隐式绑定、 显示绑定和new绑定。

1、默认绑定: 独立函数调用。

  即直接使用不带任何修饰的函数引用进行调用的,只能使用默认绑定。

2、隐式绑定:调用位置是否有上下文对象,或者说是否被某个对象拥有或者包含。

 

  在一些情况下,被隐式绑定的函数会丢失绑定对象,也就是说他会应用默认绑定,从而把this绑定到全局对象或者undefined上,取决于是否是严格模式。

3、显示绑定:通过JavaScript内置的call()或者apply(),在一定程度上也可以ES5的bind()也可以当做显示绑定的方法,但是其与前面二者稍有区别,不细说。但是其也不能直接解决绑定丢失的问题。

4、new绑定: 最常用的构造函数中常见的this

四者优先级,new绑定优先于显示绑定 优先于 隐式绑定 优先于 默认绑定。

最新文章

  1. Jquery判断变量是否为空
  2. Hadoop JAVA 开发说明
  3. dojo使用笔记: 自定义ConfirmDialog
  4. oc中对象的初始化
  5. Mathlab编程-微积分在Matlab中的解法
  6. deepin添加新的打开方式软件
  7. js 基础对象二
  8. FMS+NGINX打造高带宽利用率的流媒体(音频+视频)环境
  9. 小型 Web 页项目打包优化方案
  10. 一些比较隐秘的OJ的网址
  11. JAVA_SE基础——51.内部类
  12. Oracle篇 之 多表查询
  13. 关于使用 JSON.parse()报 VM141:1 Uncaught SyntaxError 的解决方案
  14. jmeter接口测试实例5-文件上传
  15. FFmpeg在JAVA中的使用以及Process.waitFor()引发的阻塞问题
  16. 比较perl+python
  17. 项目总结04:SQL批量导入数据:将具有多表关联的Excel数据,通过sql语句脚本的形式,导入到数据库
  18. hdu 1007 N个点中输出2点的最小距离的一半
  19. XML解析的二种方法之dom解析
  20. 手机APP测试点总结

热门文章

  1. 【Linux下进程机制】从一道面试题谈linux下fork的运行机制
  2. SQL Server跨库复制表数据错误的解决办法
  3. MongoBD解决没有自动增长ID 的问题
  4. python中迭代器和生成器
  5. hdu Largest Rectangle in a Histogram
  6. 典型Event ID
  7. 【液晶模块系列基础视频】4.1.X-GUI图形界面库-画线画圆等函数简介
  8. PHP Static Self 的区别
  9. A trip through the Graphics Pipeline 2011_04
  10. PHP 面试题数组篇[ 整理中 ]