教程集 www.jiaochengji.com
教程集 >  脚本编程  >  javascript  >  正文 javascript函数内部的this对象

javascript函数内部的this对象

发布时间:2015-02-10   编辑:jiaochengji.com
本文介绍下,有关javascript函数内部的this对象的用法,有需要的朋友参考下吧。

在javascript函数体内部,有一个特殊对象是this,其行为与java和C#中的this大致类似。
也就是说,this引用的是函数已执行操作的对象——或者也可以说,this是函数在执行时所处的作用域。

例子:
 

复制代码 代码示例:

window.color = "red";
var o = {
    color: "blue"
};

function sayColor() {
    alert(this.color);
}
sayColor(); //"red"
o.sayColor = sayColor;
o.sayColor(); //"blue"

说明:
以上这个函数sayColor()是在全局作用域中定义的,它引用了this对象。
由于在调用函数之前,this的值并不确定,一次this可能会在代码执行过程中引用不同的对象。
当在全局作用域中调用sayColor()时,this引用的全局对象window;换句话说,对this.color求值会转换成对window.color求值,于是结果就返回了“red”。
而当把这个函数赋给对象o并调用o.sayColor()时,this引用的是对象o,一次对this.color求值会转换成对o.color求值,结果就返回了“blue”。
函数的名字仅仅是一个包含指针的变量而已。因此,即使是在不同的环境中执行,全局的sayColor()函数与o.sayColor()指向的仍然是同一个函数。

您可能感兴趣的文章:
javascript函数内部的this对象
详解js和jquery里的this关键字
JavaScript中this关键字用法详解
javasrcipt 面向对象编程的例子
javascript中this对象的例子
javascript面向对象编程之this详解
JavaScript中的面向对象(object-oriented)编程
javascript内置对象简介
js中apply、call、caller、callee、bind的用法解析
javascript技术难点(三)之this、new、apply和call详解

关键词: js this的用法   
[关闭]
~ ~