Javascript include guard
要開始來在 ADE 裡寫點 javascript 了,第一個碰到的問題就是,在 javascript 裡怎麼做 include guard?搜尋 Google 沒找到答案,只好自己來。靠《JavaScript - a free online quick reference by VisiBone》找到這條語法:
var u; /* not assigned */ assert(typeof(u) == "undefined"); /* not defined */ assert(typeof(x) == "undefined");
正好適合來做 javascript 版的 include guard。為了測試,寫了一個 js_inc_guard.js 檔如下:
if (typeof(JS_INC_GUARD_JS_INCLUDED) == "undefined") { var JS_INC_GUARD_JS_INCLUDED = true; alert("JS_INC_GUARD_JS_INCLUDED");}
以及一個 js_inc_guard.html 檔如下:
<html><head><title>Demo: javascript include guard</title><script src="js_inc_guard.js"></script><script src="js_inc_guard.js"></script></head><body></body></html>
在 Firefox 與 Internet Explorer 上測試後,果然非常正確,儘管 js_inc_guard.js 被 include 了兩次,但只有一個 alert() 視窗跑出來。
Javascript include guard 技法完成。
2 Backlinks
[...] Javascript include guard Categorized in: Programming, ADE, JavaScript — jeffhung @ 10:04 am [...]
[...] 我在《Javascript include guard》這篇有提到在 Javascript 裡怎麼寫 include guard,今天再來介紹一下 Bourne Shell 的版本。 [...]
Post a Comment