将以下内容复制到txt文件中,并另成为html格式文件就可以看到效果了:--------------
实验测试Js对象-内部变量和局部变量的关系div{
white-space: normal;//定义自动换行
width: 400px;//宽度这样,高度适应 。
margin: 0px auto;//自动剧中
}
本实验将会让你理解:this和JS函数,JS方法,内部变量和全局变量。对象变量(属性之间的关系)
一个极小的例子:让你知晓JS大部分的重点
实验总结:
一、Javascript对象内函数加this.来声明,则变升级方法method,,如果没有用this.method_name=function(){}这样来定义,则为内部函数,外部(声明对象,)对象不可以访问。
同样,内部声明的变量如果加了this,则成为属性变量。new此对象则能访问此属性。如果没有加this来声明变量,则new出来的对象不可以访问。
内部访问时,声明时加this.则访问时就需要加this.否则不用。
二、函数里面 变量定义如果没有加上 var 则自动成为全局变量,外部任何地方皆可以访问.加var定义变量,则此变量为局部变量,外部不可以访问
三、关于this对象:如果将函数当函数使用,则this表示window对象,如果将函数当对象使用,则this指生成的对象(this) t=new test();
四、执行顺序:对象的执行顺序:先函数里的语句执行。然后再执行要执行的方法。加载之毕 然后再执行window.onload()。
var post=0;
function check(p1,p2)
{
//this.in_var=110;//加this表示为对象的变量in_var ,不加this表示此对内的变量
this.in_var=10; //不加this变量。以后访问也不能加this
window.οnlοad=function()
{
//alert('onload!')//优先级第三执行
//in_var=1100;
}
this.prints=function()
{
document.write(p1+' '+p2);
}
this.add=function ()
{
in_var=110000;
//this.aa(); //没有this的函数不能用this访问
aa();
return p1+p2+in_var;
}
//alert(in_var);
//alert('post='+post); //执行优先级第一
function aa(){
//alert(this.in_var);
var abc=100;
//this.prints();//不能访问对象内方法
}
}
t=new test();
function test()
{
alert(this);//在没有new test()之前如果当函数使用,则this为全局的window对象,如果将test当类t=new test();使用,则this表示此对象t!
}
c=new check(4,9);
//c.print();//优先级第二执行
document.write(c.add());//优先级第二执行
//alert(c.in_var);
alert(in_var);
//alert(abc); //没有定义,如果函数里var abc前面去掉abc则为abc全局变量,此处才可以访问
/*
实验总结:一、Javascript对象内函数加this.来声明,则变升级方法method,,如果没有用this.method_name=function(){}这样来定义,则为内部函数,外部(声明对象,)对象不可以访问。
同样,内部声明的变量如果加了this,则成为属性变量。new此对象则能访问此属性。如果没有加this来声明变量,则new出来的对象不可以访问。
内部访问时,声明时加this.则访问时就需要加this.否则不用。
二、函数里面 变量定义如果没有加上 var 则自动成为全局变量,外部任何地方皆可以访问.加var定义变量,则此变量为局部变量,外部不可以访问
三、关于this对象:如果将函数当函数使用,则this表示window对象,如果将函数当对象使用,则this指生成的对象(this) t=new test();
四、执行顺序:对象的执行顺序:先函数里的语句执行。然后再执行要执行的方法。加载之毕 然后再执行window.onload()。
*/