1、作用域:
指一个变量它在哪些代码范围能够被使用,这些地方就是变量的作用域
JS中的两种作用域:
1.全局作用域。2.函数作用域
2、在es5中 函数的代码块内部的代码 可以访问形参变量 也可以访问外部的变量(全局) 就近优先
3、函数外面的代码不能直接访问函数内部的变量
例:
a = 100
console.log(a)
// 局部变量就是函数内部能使用 外部不能使用的变量( var,形参)
function fn(a) {
var b = 20
console.log(a, b)
}
fn(100)
console.log(a)
console.log(b)
结果:
例2:
var obj = {
name: "karen";
};
function fn(n) {
//隐式操作 var n=内存中的数那个传入的对象
//n.name="jack" 其实没有修改n的值
n = {
name: "jack";
} //改变n的值
}
fn(obj); //obj取值操作 取的是一个引用的对象
console.log(obj.name); //karen