JavaScript中的this

this:
	this指向函数赖以生存的环境对象

	函数this值什么时候确定?
		在函数被调用时确定
	指向谁?
		当前拥有this的函数被谁调用
		被谁调用就指向谁
		
   this出现在以下位置分别代表什么?
    1、函数中 --this指向window
    2、在方法中 --this指向这个方法所属的对象
    3、构造函数中 -->this指向构造函数所创建的对象	
        var length=10;
        function say(){
            var length=30;  //length=30; 45行
            alert(this.length);  //46行
        }
        var obj={
            length:20,
            say:say,       //50行
            run:function(hander){
                hander();    //52行
                alert(this.length);
            }
        };
        //函数名()-->表示window.函数名()
        say();
            //46行的this是window调用的,所有this指向window (全局变量)this.length为全局变量 
            //45行为 var length=30;时,输出为-->10  因为var在块内为局部变量,不是全局变量
            //45行为 length=30;时,输出为-->30   因为length=30为全局变量,覆盖了length=10
        obj.say(); //50行 把say()->obj.say  this-->say() say()-->obj  所以this-->obj  故this.length=obj.length=20
        obj.run(say);  //52行 hander()=say() 相当于window.say(),与57行say()相同,输出10  ; 然后输出20:因为执行了53行,this->run  run->obj 所以this->obj
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值