javascript this 对象详解

本文详细解析JavaScript函数对象中的this对象,包括其在不同执行环境中的指向方式及应用实例,通过代码示例直观展示this对象的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

接着上篇文章的函数的重要属性arguments对象之后,我们今天讲函数属性的另外一个非常重要的属性 this对象。

相关阅读:

this 对象

this对象也是函数内部的重要对象,他并不是指向函数本身,而是指向该函数执行的环境对象,比如:函数在全局作用域中执行,那么this就指向全局作用环境;如果函数以一个对象的属性调用,那么this就是这个对象.最常见的情况是这样的,<input type=”text” id=”name” onclick=”sayHis(this.value)”> 我们把sayHi函数指定为input DOM元素对象的onclick事件的响应函数,那么sayHi在执行时的上下文当然就是input对象了,那么this对象理所当然的就指向了input DOM元素对象,在jQuery中同样是这样的道理。

如下代码示例:

接着上篇文章的函数的重要属性arguments对象之后,我们今天讲函数属性的另外一个非常重要的属性 this对象。

-- 函数对象的内部函数this 对象this对象也是函数内部的重要对象,他并不是指向函数本身,而是指向该函数执行的环境对象,

比如:函数在全局作用域中执行,那么this就指向全局作用环境;如果函数以一个对象的属性调用,那么this就是这个对象.最常见的情况是这样的,

<input type=”text” id=”name” onclick=”sayHis(this.value)”>

我们把sayHi函数指定为input DOM元素对象的onclick事件的响应函数,那么sayHi在执行时的上下文当然就是input对象了,

那么this对象理所当然的就指向了input DOM元素对象,在jQuery中同样是这样的道理。如下代码示例:

 
  1. <pre name="code" class="javascript"> function sayHi(){
        var name = this.name;
        console.log("Hello "+name);
        }
        //在全局中定义一个name变量
        var name = "Terry";
        var me =
        {name : "John"};
        //me对象的sayHi属性指向函数sayHi
        me.sayHi =
        sayHi;
        //在全局中调用sayHi,因为sayHi此时是在全局中调用的,执行上下文就是全局环境window, //所this就指向window,this.name解析的就是//window.name
        sayHi();
        //对象me调用sayHi,此时的执行上下文是me对象,所以this指向me对象,this.name解析为me.name
        me.sayHi();<span></span>
  • <pre name="code" class="javascript"><span>执行结果:</span><a target=_blank target="_blank" class="uploadimggrp" href="http://www.gbtags.com/gb/networks/uploadimg/bfa4ea25-688d-4cd6-8195-42a6ab8737e5.png"><img src="http://www.gbtags.com/gb/networks/uploadimgthumb/bfa4ea25-688d-4cd6-8195-42a6ab8737e5.png" alt="" /></a>
     
     
       

      现在我们可以了然了吧!下一章节,我们讲解函数对象中的其他属性。

    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

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

    抵扣说明:

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

    余额充值