首页 > 其他 > 详细

482 私有栈内存处理

时间:2020-06-25 21:25:02      阅读:66      评论:0      收藏:0      [点我收藏+]

闭包:函数执行形成的私有栈内存,会把内存中的所有私有变量都保护起来,和外面没有任何关系,函数的这种保护机制就是闭包

console.log(a, b);
var a = 12,
	b = 12;

function fn() {
	console.log(a, b);
	var a = b = 13;
	console.log(a, b);
}
fn();
console.log(a, b);

技术分享图片


console.log(a, b, c);
var a = 12,
	b = 13,
	c = 14;

function fn(a) {
	console.log(a, b, c);
	a = 100;
	c = 200;
	console.log(a, b, c);
}
b = fn(10);
console.log(a, b, c);

技术分享图片


function sum(a) {
	console.log(a);
	let a = 100; // => Uncaught SyntaxError: Identifier ‘a‘ has already been declared
	console.log(a);
}
sum(200);

var ary = [12, 23];

function fn(ary) {
	console.log(ary);
	ary[0] = 100;
	ary = [100];
	ary[0] = 0;
	console.log(ary);
}
// 注意,这里传递的是全局变量arr保存的地址值,不是传递[12, 23]
fn(ary);
console.log(ary);

技术分享图片

482 私有栈内存处理

原文:https://www.cnblogs.com/jianjie/p/13192951.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!