JS中this

1 全局函数

alert(this);//[object, Window]

2

function test(){
 alert(this);
};

//undefined

3 对象中的方法

var obj = {
    name: 'obj对象',
    test: function()
    {
        alert(this); //object Object
        alert(this.name); //obj对象
    }
};

obj.test();

结论: js中this永远指向属性或方法所属的对象

4 闭包中this

闭包函数属于全局

4.1
var name = 'this指向window对象';
var obj = {
    test: function()
    {
        return function(){
            return this.name;
        };
    }
};
alert(obj.test()); //function(){return this.name};
alert(obj.test()()); //this指向window对象
4.2 _this代替this
var name = 'this指向window对象';
var obj = {
    name: '_this指向局域变量',
    test: function()
    {
        var _this = this;
        return function(){
            return _this.name;
        };
    }
};
alert(obj.test()()); //_this指向局域变量
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值