二、Javascript变量
变量是用来存储信息的容器
规则:变量名区分大小写;变量名必须以字母或下划线开头
变量的声明和赋值:如果你给一个还没有声明的变量赋值,该变量会自动声明
2、
javascript的变量作用域
全局作用域:javascript可执行的所有范围都起作用
局部作用域:当前函数内起作用
举个例子:
(1)var a='ni hao';
function f(){
alert(a);
}
f();//ni hao
(2)如果函数内部定义了和函数外部相同的变量,函数内部操作的是局部范围的变量,函数外部操作的全局范围的变量
var v = 'global';
function f1(){
var v = 'function';
alert(v);
}
f1();//function
(3) var a='ni hao';
function f(){
a='aaa';//给全局变量重新给变量赋值
alert(a);
}
f();//aaa
(4)Javascript代码执行流程:
Javascript代码整体上是按照html文档流执行,但是也并不是完全按照,而是优先执行函数,这时函数内部的局部变量暂时设置为undefined
var v = 'global';
function f1(){
alert(v);
var v = 'function';
}
f1();//undefined
(5) var v = 1;
function f1(){
v += 1;
alert(v);
}
f1();//2
f1();//3
(6)var v1=100;
function f1(){
alert(v1);//100
v1=200;//没有var代表全局,此时是引用全局变量v1,重新给他赋值200
alert(v1);//此时显示200
}
f1();
alert(v1);//此时200
二、php中的变量范围
1、全局变量和局部变量,在php中全局变量是通过global 或者 $GLOBALS[]来声明的,和javascript完全不一样,建议使用 $GLOBALS[]声明全局变量
2、全局变量在整个php脚本运行的范围都能使用
3、$GLOBALS[]超级全局数组变量,所以它的下标(索引)就是变量名字
4、在函数内部使用全局范围的变量时,一定要先声明为全局变量
例:$x=1;
$y=2;
sum();
function sum(){
$c=$x+$y;
echo $c;//0
}
2、$x=1;
$y=2;
sum();
function sum(){
global $x;global $y;
$c=$x+$y;
echo $c;//3
}
3、$GLOBALS['x']=1;
$GLOBALS['y']=2;
sum();
function sum(){
$c=$GLOBALS['x']+$GLOBALS['y'];
echo $c;//3
}