<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>