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);//    


说明可 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 。

推荐阅读更多精彩内容

  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    千机楼阅读 1,025评论 0 4
  • 第一章: JS简介 从当初简单的语言,变成了现在能够处理复杂计算和交互,拥有闭包、匿名函数, 甚至元编程等...
    LaBaby_阅读 378评论 0 6
  • ECMAScript关键字 delete do else finally function in instance...
    doudou2阅读 306评论 0 0
  • 第三章 基本概念 3.1 语法 ECMAScript标识符一般采用驼峰大小写格式,也就是第一个字母小写,剩下的每个...
    小雄子阅读 142评论 0 1
  • 当我看完《小王子》后,小狐狸说的一句话让我感触颇深——对我来说,你无非是个孩子,和其他成千上万个孩子没有什么区别。...
    程薪甜阅读 69评论 1 0