定义形式:
在函数外定义。
在函数内定义,但是不加 var 声明。
使用 window变量名 的形式定义。(注:兼容性未知)
使用 window['变量名'] 的形式定义。(注:兼容性未知)
局部变量,作用域为所属的函数内部。
定义形式:
在函数内部定义的变量。
函数中用到的形式参数。
例子:
var a =0; //全局变量
b =0; //全局变量
function c() {
var d =0; //局部变量
e =0; //全局变量
return d;
}
consolelog(a); //0
consolelog(b); //0
consolelog(c()); //0
consolelog(e); //0
consolelog(d); //出错首先js文件编码再引入页面中可以理解为就是对jquery进行了封装。让页面不至于被各种代码冗余,那样可读性很差,引入js文件到页面后,其实跟写在页面内部是一个效果,只是这样会更方便管理,增加可读性。那么基于这样的情况,两个
js文件里,如果先引入页面的js文件里定义了全局变量,那么第二个引入的js文件,对于前一个js所定义的全局变量,是可以进行修改。<script>
var a=100;
function A(){return a--;}
function B(){setTimeout(A,2000);}
function C(){documentgetElementById("main")innerHTML='显示'+a+'变量'}
</script>
<button onClick=B()>按钮1</button>
<button onClick=C()>按钮2</button>
<div id="main"></div>写在方法外就是全局变量
我估计你是想问 在页面之间可以互相传输的变量吧?
全局变量默认为window的成员,window即代表浏览器窗口
全局变量均为window的属性
函数均为window的方法
所以,直接调用window下面的变量就可以啦function select(str,place){
var point = new BMapPoint(116331398,39897445);
var apoint ; //全局变量!!!
var myGeo = new BMapGeocoder();
myGeogetPoint(place, function(point){
if (point) {
mapcenterAndZoom(point, 10);
mapaddOverlay(new BMapMarker(point));
}
apoint = point; //赋值给全局变量!!!
//在这里才能获得point的值,应该将对point的 *** 作放到这里
//如果要将point赋值给其它变量,应该赋值后再通知其它函数
}, "北京市");
// getPoint的执行可能不会立即完成,所以此时还没有执行apoint = point;这一句,所以apoint也没有被赋值,所以到这里apoint不一定有值
alert(apointlng + ", " +apointlat); //输出全局变量!!
//apoint的两个值在这里输出为空~!(如果在全局变量处给apoint赋值就会有)
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)