首页 > 语言 > JavaScript > 正文

js中this用法实例详解

2024-05-06 16:19:22
字体:
来源:转载
供稿:网友

这篇文章主要介绍了js中this用法,实例分析了this指向windows、指向对象及改变this指向的相关技巧,需要的朋友可以参考下

本文实例讲述了js中this用法。分享给大家供大家参考。具体如下:

1. 指向window

全局变量

 

  
  1. alert(this//返回 [object Window] 

全局函数

 

 
  1. function sayHello(){ 
  2. alert(this); 
  3. sayHello(); 

2. 指向该对象(在全局里面this指向window,在某个对象里面this指向该对象,在闭包里面this指向window)

 

 
  1. var user="the Window"
  2. var box={ 
  3. user:'the box'
  4. getThis:function(){ 
  5. return this.user; 
  6. }, 
  7. getThis2:function(){ 
  8. return function (){ 
  9. return this.user; 
  10. }; 
  11. alert(this.user);//the Window 
  12. alert(box.getThis());//the box 
  13. alert(box.getThis2()()); 
  14. //the Window (由于使用了闭包,这里的this指向window) 
  15. alert(box.getThis2().call(box)); 
  16. //the box 对象冒充(这里的this指向box对象) 

3. 用apply,call改变函数的this指向

 

 
  1. function sum(num1, num2){ 
  2. return num1+num2; 
  3. function box(num1, num2){ 
  4. return sum.apply(this, [num1, num2]); 
  5. //this 表示window的作用域 box冒充sum来执行 
  6. console.log(box(10,10)); //20 

4. new 对象

 

 
  1. function Person(){ 
  2. console.log(this//将 this 指向一个新建的空对象 
  3. var p = new Person(); 

希望本文所述对大家的javascript程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选