现在的位置: 首页 > 综合 > 正文

javascript this 对象详解

2016年02月27日 ⁄ 综合 ⁄ 共 1545字 ⁄ 字号 评论关闭

接着上篇文章的函数的重要属性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>
    
    
      
      

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

    1. 抱歉!评论已关闭.