作用域:在es5中,函数的代码块内部的代码,可以访问形参变量,也可以访问全局变量,就近优先(作用域只针对函数,对象没有作用域)
作用域:指一个变量它在哪些代码范围能够被使用,这些地方就是变量的作用域
全局变量:变量在程序云行时,把它设置为window对象的属性
局部变量:函数内部可以使用,外部不能使用的变量(形参(隐式声明)、实参var)
注意:1.函数外面的代码不能直接访问函数内部的变量;
2.但是函数内部可以操作函数外部的变量。




案例:
1.
<script type="text/javascript">
var obj={name:"karen"}
function fn(n){
//隐式声明了:var n="karen"
n="jack"
}
fn(obj.name)//这里的obj.name先取值,再传入函数
console.log(obj.name)
</script>

2.
<script type="text/javascript">
var obj={name:"karen"}
function fn(n){
n.name="jack"
}
fn(obj)
console.log(obj.name)
</script>

3.
<script type="text/javascript">
var obj={name:"karen"}
function fn(n){
n=[1,2,3,4]
}
fn(obj)
fn(obj)
console.log(obj.name)
</script>
