WEB开发网
开发学院网页设计JavaScript javascript中不同方式的嵌套函数中this指针指向的... 阅读

javascript中不同方式的嵌套函数中this指针指向的对象的不同

 2010-09-14 13:45:33 来源:WEB开发网   
核心提示: 为了测试在不同情况下嵌套函数(对象)中this所指的对象,我们写了如下的代码(在代码中已经标识出各种情况的分析结果):测试代码1function testA(){2 this.name="a";3 this.func1=function(){4 this.name1=&

为了测试在不同情况下嵌套函数(对象)中this所指的对象,我们写了如下的代码(在代码中已经标识出各种情况的分析结果):

测试代码

 1function testA(){
 2            this.name="a";
 3          this.func1=function(){
 4                  this.name1="a1";
 5                  this.name="b";
 6                  this.printToScreen("func1","debug1");
 7            //这里的this指向了外部函数的this
 8            }
 9            this.func1();
10
11
12         function func2(){
13                  this.name1="b1";
14                  this.name="c";
15                  this.printToScreen("func2","debug1");
16            //这里的this不指向外部的this,而是自身环境的this
17            }
18          var func2=new func2();
19
20
21        var func3=function(){
22                  this.name1="b1";
23                  this.name="c";
24                  this.printToScreen("func3","debug1");
25            //这种方式也不影响外部的值,this指向自身的环境
26            }
27          func3();
28
29        this.a=function func4(){
30                  this.name1="b1";
31                  this.name="c";
32                  this.printToScreen("func4","debug1");
33            //这种方式也会影响外部的this,这里的this指向外部的this
34            }
35        this.a();
36
37        }
38        var testa=new testA();
39        this.name="aa";
40      this.func5=function(){
41              this.printToScreen("func5","debug1");
42            }
45        this.func5();

Tags:javascript 不同 方式

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接