<html>
<head>
<title>014</title>
<script type="text/javascript" charset="utf-8">
//javascript是一门具有自动垃圾收集机制的编程语言。开发人员不必关心内存分配和回收问题
//离开作用域的值将被自动标记为可以回收,因此将在垃圾收集期间被删除。标记清除是目前主流的垃圾收集
//算法。这种算法的思想是给当前不使用的值加上标记,然后回收其内存。
//javascript里面没有块级作用域的概率,和c/java等高级语言不同,所以在使用if、for时候要格外小心。
//javascript模拟块级作用域
垃圾收集 方法1 标记方法
/*
function test(){
var a=10;//被使用
var b=20;//被使用
}
test();//执行完毕之后,a、b又被标记了一次:没有被使用
*/
//垃圾收集 方法2 引用计数法
//大概就是变量赋值时count为1,然后使用这个变量直到count为0时会被垃圾收集机制给回收,大概就是这个意思
块级作用域的概率
//高级程序语言 for if 块级作用域的概率
/*
function test(){
for (var i=1;i<=5;i++){
alert(i);//1 2 3 4 5 然后结束for循环
}//本来应该变量i应该被回收
alert(i);//6 这是因为js没有块级作用域的概率
}
test();//1 2 3 4 5 6 该方法已经执行完毕
//alert(i); //什么都没有显示
*/
//js : ()表示执行 模拟高级程序语言块级作用域的概率。
function test(){
(function(){
for(var i=1;i<=5;i++){
alert(i);//1 2 3 4 5
}
})();
//alert(i);
}
test();
(function(){alert('我直接执行了');})();//我直接执行了
// (方法)() 相当于 方法名.();
</script>
</head>
<body>
</body>
</html>
javascript中垃圾收集机制和块级作用域的概率
最新推荐文章于 2024-08-07 21:58:12 发布