js局部变量和全局变量
函数内部获取全局变量:
function test(){
y=5; //全局变量 alert(y); //函数执行内部定义的全局变量的值 } test(); alert(y); //可以获取到全局变量的值声明提前:
function test(){
document.write('函数体内x的值为:'+x+'<br/>'); // 声明提前 undefined,x值取下面的,但是取不到值 同级可以取到变量 var x=19; document.write('函数体内对x重新赋值,此时x的值为:'+x+'<br/>'); //可以取到变量的值 }
function test(){
var x=1; //声明定义成为局部变量 alert(x); } test(); alert(x); //取不到变量,报错*/ 因为没有声明变量和赋值例子:
var x=1,y=2; //声明xy
function calc(x,y){
document.write('a的值为'+a+'<br/>');//undefined 函数内能取到变量娶不到值 document.write('函数体内x的值为:'+x+'<br/>'); //1 document.write('函数体内y的值为:'+y+'<br/>'); //2 var x=0,y=6;z=x+y; x=x+y; var a=198; document.write('a的值为:'+a+'<br/>'); //198document.write('x的值为:'+x+'<br/>'); //6 return z; } alert(calc(x,y)); //获取到变量的值,赋给行参 //重新赋值为x为0 y 为6 alert(x+'-'+y+'-'+z);//函数外部是全局变量 取得值为全局变量的值 z取得是函数内部的全局变量
回调函数:
回调函数的例子
function calc(x,y){ return x()+y(); }function test1(){ return 3; } function test2(){ return 5; }alert(calc(test1,test2)); alert(calc(function(){return 5;},function(){return 10;}));//匿名函数不需要来起名称
function say (value) {
alert(value); }alert(say); //为say的内容 say('hi js.'); //一样的名称不需要alert,函数直接调用