回答
有些瀏覽器允許它,限制它的最好方法是避免它。
可是......一些正在使用這種技術來保持未定義:
(function(undefined){
})()
他們得到了一個名爲undefined
變量,但不傳遞值這給undefined
的undefined
值。
從jQuery的源代碼:
(function(window, undefined) {
...
...
})(window);
是的,它可能覆蓋定義。
這個問題對周圍的工作問題解決好 - How to check for "undefined" in JavaScript?
是否有可能覆蓋在JavaScript中未定義?
如果通過「undefined」表示全局undefined
變量,則表示沒有。由於EcmaScript 5,它是specified as non-writable。但是,舊版瀏覽器不符合該規範,因此它在舊版引擎中可覆蓋。你不能真的阻止它,但always reset it by undefined = void 0;
。如果您仍然擔心並想知道如何保護自己的腳本,請檢查How dangerous is it in JavaScript, really, to assume undefined is not overwritten?這個問題。
像
function myFunction(){ var undefined = "abc"; }
這是一個不同的事情。您可以始終使用名稱undefined
(隱藏全局映射)聲明局部變量併爲其分配任意值。
+1。我認爲混淆來自於認爲'undefined'是關鍵字而不是全局對象的屬性。一些語法熒光筆突出顯示它,就好像它是一個關鍵字,可能會增加混淆(甚至SO這樣做)。 –
- 1. JavaScript的覆蓋未定義
- 2. 是否有可能覆蓋縮小的JavaScript函數
- 3. 是否有可能檢測父方法是否被覆蓋?
- 4. 是否有可能從家長的iFrame覆蓋JavaScript?如果是這樣如何?
- 5. 是否有可能用JavaScript覆蓋現有的本地XML文件?
- 6. 是否可以覆蓋behat上下文中的步驟定義?
- 7. 是否可以定義覆蓋Manifest中的元素樣式?
- 8. 是否可以覆蓋NSUserDefault?
- 9. 是否有可能覆蓋c#中的winform面板的填充?
- 10. 是否有可能將最終覆蓋的方法標記爲
- 11. 是否有可能在alfresco share中覆蓋share.js中的組件?
- 12. 是否有可能在R鍵覆蓋由expand_limits()設置的值
- 13. 是否有可能在JUnit中覆蓋預期的異常?
- 14. 是否有可能覆蓋maven pluginManagement中的執行?
- 15. 是否有可能json_encode在PHP中未定義的值?
- 16. 是否有可能覆蓋網格系統使用全寬
- 17. 是否有可能用另一個包含覆蓋頁面?
- 18. 是否有可能覆蓋去自動格式化程序
- 19. 是否有可能用css覆蓋單選按鈕樣式?
- 20. 是否有可能使@IBDesignable覆蓋Interface Builder值?
- 21. 是否有可能在Liferay 6.1中覆蓋Social Office主題?
- 22. 是否有可能通過配置覆蓋persistence.xml屬性?
- 23. 是否有可能在WordPress中覆蓋核心類
- 24. 是否有可能通過git別名覆蓋git命令?
- 25. 使用PowerShell,是否有可能用「Write-Host」覆蓋一行
- 26. 是否有可能覆蓋另一個JPanel?
- 27. 是否有可能從轉儲覆蓋數據庫記錄?
- 28. 是否有可能用視圖覆蓋alertview
- 29. 是否有任何破解用自定義類覆蓋類名?
- 30. 是否有可能利用JavaScript的自定義CSS屬性?
該頁面狀態「正如@CMS指出的,這已經在ECMAScript 5th ed。中進行了修補,並且undefined是不可寫的。」 –