学习this的使用必须牢记以下两点

  1、this是一个只能在函数内部使用的关键字

  2、this指向调用函数的那个对象

下面我们来具体讨论一下this的具体使用方法

第一种:通过函数调用的方式------------->this指向的是全局(浏览器中就是window)

    var a = 1;
function Demo() {
alert(this.a)
}
Demo(); //弹窗 1 相当于全局调用

第二种:作为对象方法来调用------------->this指向这个对象

     var o ={};
o.a = 1;
o.demo = function () {
alert(this.a)
}; o.demo() //弹窗 1 o调用

第三种:作为构造函数来调用------------->即:通过new 产生一个新对象,this就指向这个对象

     function Demo() {
this.a = 1
}
var o = new Demo()
alert(o.a) //弹窗 1 o调用

第四种:apply()/call()------------->这两个是函数对象的一个方法,this指向他们的第一个参数如果不传参数this指向全局

     var a = 1;
function Demo() {
alert(this.a)
} var o = {};
o.a = 2;
o.demo = Demo; o.demo.apply(o) //弹窗2
o.demo.apply() //弹窗1

重要的东西再说一遍

  1、this是一个只能在函数内部使用的关键字

  2、this指向调用函数的那个对象

最新文章

  1. xml报文解析和组装
  2. OC--编码建议
  3. 转义字符_MySQL识别下面的转义序列
  4. Sql Server来龙去脉系列之一 目录篇
  5. MATLAB importdata函数返回值类型
  6. 如何用boost::serialization去序列化派生模板类(续)
  7. 【Java规划】DOM XML Parser分解、遍历、创XML
  8. html基本基础
  9. GCC、GDB、Makefile
  10. Android开发学习——自定义View
  11. PHP中文件包含的路径问题
  12. [原]C#与非托管——初体验
  13. 开关调色新世界BP2888电源解决方案
  14. python函数与模块(装饰器,文件处理,迭代器等)
  15. 《Head First设计模式》批注系列(一)——观察者设计模式
  16. AutoML技术现状与未来展望
  17. oracle怎么给表和列加注释
  18. Java中的BlockingQueue队列
  19. unity插件,从一段文字中提取中文并去重
  20. SSM(Spring+SpringMVC+Mybatis)框架环境搭建(整合步骤)(一)

热门文章

  1. 【荐】PHP采集工具curl快速入门教程
  2. Alpha版本冲刺总结——曙光初现
  3. C和指针 第九章 字符串 字符 字节
  4. git 教程(15)--分支管理策略
  5. 【转】python编码的问题
  6. 使用SQL语句对数据进行MD5加密
  7. Bootstrap Fileupload 文件上传
  8. 史上最简单,一步集成侧滑(删除)菜单,高仿QQ、IOS。
  9. 开发微信App支付
  10. 无废话ExtJs 入门教程二十[数据交互:AJAX]