function 函数类型之this对象

function 函数类型

this

this 是 function 函数内部的一个特殊的对象。其行为和 Java 与 C# 中的 this 相似,this 引用的是函数调用语句所处的那个作用域的对象。在全局中的时候 this 对象所引用的就是 Window 。而 window 就是 JS 中的最外围的对象。也是最大的对象。 看下面的代码

alert(window)//这时候弹出的对话框就是 object window     

说明 window 是对象,是 object 。或者可以看看 window 的字符串类型是什么 用 typeof window 可以看出是 object 类型这时候说明 window 是对象,类型是 object 是对象。这时候我们打印出 this

 alert(this);     

弹出的也是 [object window] 说明 this 是对象,在这个 alert(this); 语句所处的作用域的对象是 object window 和 window 一样。因为在 window 的范围下。再用 alert (typeof this) 执行的完以后弹出的就是 object 。说明在 window 的作用域下,this 就是等于 window。
接下来看一下不在 window 全局下的函数 例如:

var color='red';//这里 color 就是全局变量,而又是 window 的属性      
alert(window.color);//    

function 函数类型之this对象_第1张图片

说明可 color 这个变量是在 window 下。现在我们加一行代码

var color='red';//这里 color 就是全局变量,而又是 window 的属性      
document.write(window.color+"
"); document.write(this.color);

function 函数类型之this对象_第2张图片

说明 this 和 window 这里是一样的。

window.color='red';//相当于 var color='red';     
document.write(this.color+"
"); var box(){ color:blue, //这个 color 就是 box() 下的属性,局部变量 sayColor:function(){ document.write(this.color+"
");} } box.sayColor()

function 函数类型之this对象_第3张图片

可以看出第一个是 red 而第二个是 Object 说明第二个 this 代表的是 box 的属性,是局部变量,不是 window 。

你可能感兴趣的:(function 函数类型之this对象)