1、在一般函数中使用 this 指全局对象 window

function fn(){
this.x = 1
}
fn(); //相当于window.fn()

2、作为对象方法使用 this 指该对象

function fn(){
alert(this.x) //this是调用该函数的obj对象 输出test
}
var obj = {'fn':fn,'x':'test'}
obj.fn();

3、作为构造函数使用 this 指new 函数出的对象

function fn(){
this.x = 123; //this是调用该函数的obj对象
}
var obj = new fn(); //obj = {x:123}

4、apply 调用函数,apply 方法作用是改变函数的调用对象,此方法第一个参数为改变后的调用函数的对象,函数里this指第一个参数

var x = 11;
function fn(){
alert(this.x)
}
var obj = {'fn':fn,'x':22}
var obj2 = {'x':33}
obj.fn.apply(); // 11 ,apply()参数为空时,默认调用的是全局对象,this当前指全局对象
obj.fn.apply(obj); // 22
obj.fn.apply(obj2); // 33

最新文章

  1. ubuntu下gedit闪退,遇到问题:ERROR:../../gi/pygi-argument.c:1583:_pygi_argument_to_object: code should not be reached 已放弃 (核心已转储)
  2. 安装Kafka
  3. ng-if ng-show ng-hide 的区别
  4. 把文本框嵌入到form
  5. PHPDBG
  6. opencv的一次性配置
  7. Ubuntu 14.10 下开机不进入图形化界面
  8. centos6.2下安装redis和phpredis扩展,亲测好用
  9. Sold out
  10. Metadata Lock原理3
  11. POJ1094 拓扑排序
  12. WordPress创建过程
  13. hdu1114
  14. iOS开发——单例模式
  15. Windows 2012建立域控(AD DS)详解
  16. SignalR第一节-在5分钟内完成通信连接和消息发送
  17. Reveal : Xcode辅助界面调试工具
  18. DomeOS部署
  19. Angular中的服务的使用
  20. henrylee2cn简单的rpc服务

热门文章

  1. 如何在C#中调试LINQ查询
  2. 洛谷P1553数字反转升级版
  3. N宫格
  4. IOS开发---菜鸟学习之路--(二十一)-利用正则表达式解析URL获取其中的参数
  5. 【Permutation Sequence】cpp
  6. vmware克隆centos修改linux mac地址
  7. Linux互斥锁、条件变量和信号量
  8. 微信Oauth2.0网页开放授权
  9. RNQOJ Jam的计数法
  10. iOS设备唯一标识(可以用版)