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);//
说明可 color 这个变量是在 window 下。现在我们加一行代码
var color='red';//这里 color 就是全局变量,而又是 window 的属性
document.write(window.color+"<br/>");
document.write(this.color);
说明 this 和 window 这里是一样的。
window.color='red';//相当于 var color='red';
document.write(this.color+"<br/>");
var box(){
color:blue, //这个 color 就是 box() 下的属性,局部变量
sayColor:function(){
document.write(this.color+"<br/>");}
}
box.sayColor()
可以看出第一个是 red 而第二个是 Object 说明第二个 this 代表的是 box 的属性,是局部变量,不是 window 。