<script type="text/javascript">
//例子1
function test1(){
this.x1 = 1;
alert(this.x1);
}
test1();
//例子1:返回1。纯粹的函数调用,这里this代表全局对象Global,此时this就是Global,
// 因为在函数里面,对Global定义了X值为1,那么alert(this.x),就是呼出Global的x值
//例子2
function test2(){
var x2 = 2;
alert(this.x2);
}
test2();
//例子2:返回undefine。
//例子3
var x3 = 3;
function test3(){
alert(this.x3);
}
test3();
//例子3:返回3。证明this就是全局对象Global。
//例子4
var x4 = 4;
function test4(){
this.x4=0;
}
test4();
alert(x4);
//例子4:返回0。证明this就是全局对象Global。
alert("例子5");
//例子5
function test5(){
alert(this.x);
}
var o5={};
o5.x=5;
o5.m=test5;
o5.m();
//例子5:返回5。作为对象方法的调用。函数可以作为某个对象的
//方法调用,这时this就指向这个上级对象
alert("例子6");
//例子6.通过这个函数生成一个新对象(object)。这时,this就指这个新对象。
function test6(){
this.x6=6;
}
var o6=new test6();
alert(o6.x6);
//例子6.返回6。
alert("例子7");
//例子7.通过这个函数生成一个新对象(object)。这时,this就指这个新对象。
var x7=0;
function test7(){
this.x7=7;
}
var o7=new test7();
alert(o7.x7);//返回7
alert(x7);//返回0
//例子7.返回0。表明全局变量X7的值根本没有变。
alert("例子8");
//例子8..暂时搁置。。apply调用。o.m.apply()
//例子1
function test1(){
this.x1 = 1;
alert(this.x1);
}
test1();
//例子1:返回1。纯粹的函数调用,这里this代表全局对象Global,此时this就是Global,
// 因为在函数里面,对Global定义了X值为1,那么alert(this.x),就是呼出Global的x值
//例子2
function test2(){
var x2 = 2;
alert(this.x2);
}
test2();
//例子2:返回undefine。
//例子3
var x3 = 3;
function test3(){
alert(this.x3);
}
test3();
//例子3:返回3。证明this就是全局对象Global。
//例子4
var x4 = 4;
function test4(){
this.x4=0;
}
test4();
alert(x4);
//例子4:返回0。证明this就是全局对象Global。
alert("例子5");
//例子5
function test5(){
alert(this.x);
}
var o5={};
o5.x=5;
o5.m=test5;
o5.m();
//例子5:返回5。作为对象方法的调用。函数可以作为某个对象的
//方法调用,这时this就指向这个上级对象
alert("例子6");
//例子6.通过这个函数生成一个新对象(object)。这时,this就指这个新对象。
function test6(){
this.x6=6;
}
var o6=new test6();
alert(o6.x6);
//例子6.返回6。
alert("例子7");
//例子7.通过这个函数生成一个新对象(object)。这时,this就指这个新对象。
var x7=0;
function test7(){
this.x7=7;
}
var o7=new test7();
alert(o7.x7);//返回7
alert(x7);//返回0
//例子7.返回0。表明全局变量X7的值根本没有变。
alert("例子8");
//例子8..暂时搁置。。apply调用。o.m.apply()