標籤:javascript 內建函式 執行 閉包
<span style="font-size:18px;">function outerFn(){document.write("outer");var i=0;function innerFn(){document.write("inner");i++;document.write(i);}return innerFn;} //要想使用inner()這個內建函式,不可以在outerFn()外部,直接引用</span><span style="font-size:18px;">outerFn()</span><span style="font-size:18px;">//</span><span style="font-size:18px;">outerFn()</span><span style="font-size:18px;">;是錯誤的</span><span style="font-size:18px;">var innerObj=outerFn(); //將outerFn()返回的函數變數賦給innerObj</span><pre name="code" class="javascript"><span style="font-size:18px;">innerObj();//調用一次內建函式</span><span style="font-size:18px;">outerFn</span><span style="font-size:18px;">()</span><pre name="code" class="javascript"><span style="font-size:18px;">innerObj();</span><span style="font-size:18px;">//第二次調用內建函式</span><span style="font-size:18px;">outerFn</span><span style="font-size:18px;">()</span><span style="font-size:18px;"></span>
最近在研究閉包和範圍鏈。很多概念還看不到,現在還不是總結的時候。
上面的那個函數式經常被閉包及相關知識解釋的例子,之前看不到,後來明白了,趕緊來總結此部分。
innerFn()是outerFn()的內建函式,要執行此內建函式,直接在outerFn()外應用innerFn()是不行的。
以上的例子是通過父函數的返回值來獲得內建函式的引用,進而執行內建函式。
內建函式 解析