打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
function , script block in JavaScript (函式,腳本區) 4

繼續介紹關於 JavaScript 中的 腳本區 script block....
在前幾篇文章,陸續說明 JavaScript function、variable 的 script block

本篇算是進入這個系列主題的重點,直接看程式碼與說明,如下:

function f1(){	alert('outside');}console.log('test 1 - ' + f1);;(function(){  console.log('test 2 - ' + f1);  f1 = function()  {    alert('b_var');  }  console.log('test 3 - ' + f1);  function f1()  {    alert('inside');  }  console.log('test 4 - ' + f1);})();console.log('test 5 - ' + f1);

test 1 - 結果是 outside -> 無疑

test 2 - 此 f1 感覺會讀取 window.f1 , 但是在 line 19~22 有宣告一個function f1
因此 line 10 的 f1 會優先讀取 巢狀內的 f1 (巢狀內沒有f1才會很上層提取) , 因此目前 f1 為 inside

test 3 - 在 line 12~15 有對 f1 進行修改,所以,此處的 f1 為 b_var

test 4 - 雖然在 line 19~22 有一個 function f1 , 但是在 line 24 的 f1 並不影響
因為 line 19~22 是在 巢狀一開始(line 8)就被宣告

test 5 - 因為 巢狀內都是使用內部的 f1 , 並無影響外部的.f1 , 因此結果還是 outside

var f1 = function(){}與function f1(){}

除了在 parse-time 與 run-time 的不同

在 script block 的宣告時間點也是有所差異。


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
使用firebug进行调试javascript的示例
JavaScript 之 作用域
动态解析HTML中的Javascript
在客户端用javascript或VBSCRIPT生成WORD文档 www.banysky.com
JavaScript constructor属性(constructor属性)
setTimeout增加参数(javascript)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服