JavaScript 05

                                                                                                    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/>'); //198
document.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,函数直接调用

原文地址:https://www.cnblogs.com/lh0127/p/9543625.html