JavaScript 变量 作用域 内存处理
变量:
基本类型的变量存储在栈中;通过变量名可直接获取值
引用类型的变量存储在堆中,栈中存储的是引用类型的变量的地址(指针)映射;先从栈中获取地址,在获取值
作用域:
ES5:全局作用域+局部作用域
ES6:全局作用域+局部作用域+块级作用域
全局作用域:定义在函数外部
局部作用域:定义在函数内部
console.log(x); //var定义的变量存在位置提升,可提前访问,但得不到值,默认undefined var x=123; function fn(n){ //形参为局部变量 console.log(x+10); //可 var y=20; } fn(); //可,外部定义的函数为全局变量 console.log(y); //不可
内存处理:js自动回收
var oll = {name:'Lee'}; oll = null; //解除对象引用,等待垃圾回收器回收