javascript中不同方式的嵌套函数中this指针指向的对象的不同
2010-09-14 13:45:33 来源:WEB开发网为了测试在不同情况下嵌套函数(对象)中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 不同 方式
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接