我正在創建一個可用於各種網站的腳本。由於我不知道它的使用情況,所以我希望能夠將它放置在各種沙箱中,它不會影響頁面上的其他JavaScript,並且不會受到其他JavaScript的影響。創建一個獨立於其他javascript的私有名稱空間?
最基本的開始使用自調用函數:
(function(){
x = function(){ alert('hi!');
x();
})();
但我的問題是,如果X是已分配爲這樣的,你不能覆蓋它:
x = function(){ alert('too late!');
(function(){
x = function(){ alert('hi!');
x();
})();
這將警惕「太遲了!」而不是「嗨!」,這不是我想要的效果。誰能幫忙?
謝謝主席先生!最長的時間我無法辨認出我的愚蠢。這是一個錯誤的右括號的簡單行爲!作爲以'})();'工作,'}());'結尾的自執行函數''是正確的用法!在這種情況下,添加'var'幾乎沒有什麼區別。 – smdrager 2011-05-20 00:59:04