您的位置:首页 > Web前端 > JavaScript

JavaScript面向对象,闭包内存图,闭包和作用域

2016-08-10 10:43 225 查看
var i = 10;
function test(){
var j;
i=20;   //未定义
function test(){
j='hello';
}
console.log(test());    //undefined
console.log(j); //hello
}
test();
console.log(i); //20




var a = 12;
var b = "12";
function c(){

}
var c = function(){
d = 15;
a = 20;
function e(){
d = 33;
}
var d;
e();
console.log(d); //33
}
c();
console.log(a); //20
console.log(b); //"12"




栈里面存放变量,堆里面存放对象,常量池里面存放常量。

闭包内存图:

函数调用本质其实是创建一个临时的闭包空间,调用完成,空间自动回收,销毁

闭包寻找变量的时候,作用域是就近原则
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: