info is changed
注意以下几点:
1、以 类名+"."+静态变量名 的方式来声明一个静态变量
2、静态变量并不属于类的某个实例对象所独有的属性,为对象的共享.
3、能以实例对象名+"."+静态变量名来访问。
全局变量:
全局变量即整个系统运行期间有效访问控制的变量,通常是在一个js代码开头定义,如:
var copyright = "3zfp owned";
var foo =function()
{
window.alert(copyright);
} 注意以下几点:
1、如果一个变量不用var 来声明,则其被视为全局变量。如:
var copyright = "3zfp owned";
var foo =function(fooInfo)
{
_foo = fooInfo;
document.write(copyright+"<br>");
}
new foo("foo test");
document.write(_foo+"<br>");
执行代码,将得到如下结果:
3zfp owned
foo test
但是,这个又有一个注意的地方,function是编译期对象,也就是说_foo这个全局变量要在foo对象被实例化后才能被初始化,也就是说如果将
new foo();
document.write(_foo+"<br>");
对调成
document.write(_foo+"<br>");
new foo();
系统将提示 "_foo 未定义"。
2、如果定义了一个和全局变量同名的局部变量属性,如下:
var copyright = "3zfp owned";
var foo =function(fooInfo)
{
var copyright = fooInfo; //同名变量
this.showInfo = function()
{
document.write(copyright+"<br>");
}
}
new foo("foo test").showInfo();
document.write(copyright+"<br>"); 执行代码,将得到如下结果:
3zfp owned
foo test
原因是由于function 是在编译期间完成变量的定义,也就是foo内部的copyright的定义是在编译期间完成的,其作用域只在foo对象内有效,而与外部定义的全局变量copyright无关。










