js中this的简介

this的简介

this作为javascript中的关键字,但是在不同情况下,所指的对象也是不一样的。下面是介绍不同情况下this的使用。

1.在事件处理函数中的this

	<div id="btn">
        我是按钮
    </div>
    <script>
        var btn = document.getElementById('btn');
        //this 在事件处理函数中,哪个元素触发事件,指向谁
        btn.onclick = function(){
            console.log('点击了');
            console.log(this);
        }
    </script>

效果如图:
在这里插入图片描述

2.在构造函数中的this

		//构造函数中this指向创建的对象
        function person(){
            console.log(this);
            this.name = arguments[0];
        }
        var a = new person('sd');

效果运行:
在这里插入图片描述

3.在对象中的this

		var obj = {
            name : 'sdad',
            say  : function(){
                console.log(this.name,'2222');//这边用什么调用,this指向的就是哪个对象,
            }
        }
        obj.say()  //this指的是obj

运行如下:
在这里插入图片描述
下面的这个例子使用闭包来写的,可以看一下。

		var name = 'sd';
        var obj = {
            name : 'sdad',
            say  : function(){
                console.log(this.name,'2222');//sdad 2222
                return function(){
                    console.log(this.name);//sd
                }
            }
           
        }
        var say1 = obj.say();
        say1();

运行结果:
在这里插入图片描述

4.在普通函数中的this

		// 函数中的this
        var name = 'sd';
        function say(){
            console.log(this.name,'111'); //this  指的是window对象,所以输出sd
        }
        say();

运行结果:
在这里插入图片描述

总结(自己的理解)

一般的步骤为:1.看是否在全局或者函数中:在window调用函数中用this,指向this
2.在函数看是否为箭头函数,箭头函数找上层作用域中的this,指向谁那么箭头函数中this就指向谁。3.事件处理函数,哪个触发事件就是指向哪个。4.构造函数中this指向创建的对象。总的来说是谁调用,this就指向谁,但得分情况看。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值