分析3樣東西函數
第一步: 先分析參數spa
第二步:在分析變量聲明對象
第三步:分析函數聲明io
一個函數能使用的局部變量,就從上面的三步分析而來function
具體步驟:變量
0:函數運行前的一瞬間 生成Active Object(活動對象 簡稱AO)co
1:background
1.1 函數聲明的參數,造成AO的屬性,值全是undefined生成
1.2 接受實參,造成AO相應的屬性的值參數
2: 分析變量聲明聲明如var age
若是AO上尚未age屬性,則添加AO屬性,值是undefined
若是AO上已經有age屬性,則不作任何影響
3: 分析函數聲明 ,如 function foo(){},
則把函數付給AO.foo屬性
注:若是此前foo屬性已存在 則被無情的覆蓋了
function a(b){
alert(b);
function b(){
alert(b);
}
b();
}
a(1);
分析期
AO={}
AO={b:undefined}
AO={b:1}
分析變量聲明:var 沒有
分析函數聲明
AO={b:function(){alert b;}}
執行期間
alert(b);
b();
輸出兩個函數體b