局部变量和全局变量:
局部变量:函数的参数,或者是函数里面用var 定义的变量,和程序同在
全局变脸:在函数之外定义的,或者没有用var 声明的变量,局部变量在函数被调用后自动销毁
<script type="text/javascript">
var a;//全局变量
function(b){//b为局部变量
c=100;//c为全局变量
var d;//d 为局部变量
}
</script>
声明提前:在程序执行前或函数被调用前
将var声明的变量和function声明的函数提前到当前作用域的顶部集中创建
***强调仅声明提前,赋值留在原地
按值传递:js中无论变量间赋值或使用变量传递参数时都是赋值一个副本给对方
<script type="text/javascript">
function buy(what,card){
card-=5;
console.log("余额"+card);
return "香喷喷的"+what;
}
var card=10;
var eric=buy("鱼香肉丝",card);
console.log("鱼香肉丝",card);
</script>
<script type="text/javascript">
function buy(what,card){
card-=5;//局部变量
console.log("余额"+card);
return "香喷喷的"+what;
}
var card;
var eric;
card=10;
eric=buy("鱼香肉丝",card);//调用结束后局部变量card消失
console.log("鱼香肉丝",card);
</script>
结果:余额5
鱼香肉丝 10