JavaScript|this

JavaScript|this

1.在方法中

在方法中,this关键字指向的是当前方法所属的对象:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>this</title>
  <script>
    var personName = {
      firstName:"",
      lastName:"",
      displayName : function (){
        // 方法中this指向该方法所属对象
        document.getElementById("p1").innerHTML = this.firstName + this.lastName;
      }
    }
    function Make(){
      // 把personName这个对象的值从新修改了过后再调用它的方法
      personName.firstName = document.getElementById("input1").value;
      personName.lastName = document.getElementById("input2").value;
      personName.displayName();
    }
  </script>
</head>
<body>

请输入你的姓:
<input type="text" id="input1">
<br>
请输入你的名:
<input type="text" id="input2">
<br>
<button onclick="Make()">显示</button>
<p id="p1" style="display: inline-block">你的姓名</p>

</body>
</html>

在这里插入图片描述
在这里插入图片描述

2.object Window

在单独使用this,或者在非类中的函数使用this,都是指向window的,也就是全局对象object Window。

在严格模式下非类中的函数使用this是undefined。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>this</title>
</head>
<body>

<p id="p1"></p>
<p id="p2"></p>
<script>
    // 单独使用this指向全局对象,即object Window
    document.getElementById("p1").innerHTML = this;
    // 非对象的函数中默认this指向全局对象,即object Window
    document.getElementById("p2").innerHTML = Fun();
    function Fun(){
        return this;
    }
</script>

</body>
</html>

在这里插入图片描述

3.事件中的this

事件中的this指向了接收事件的HTML元素:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>this</title>
</head>
<body>

<button onclick="Fun(this)">点击消失</button>
<script>
    function Fun(x){
        // 事件中this指向接受事件的元素
        x.style.display = "none";
    }
</script>

</body>
</html>

在这里插入图片描述

点击按钮,按钮就会消失


人生没有白走的路,每一步都算数!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Alan_Lowe

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值