1
A
回答
2
在JavaScript中,沒有塊級範圍界定;只有功能級範圍。以這兩個例子:
if (true) {
var a = 5;
}
alert(a); // 5
// ...
function foo() {
var a = 5;
}
foo();
alert(a); // ReferenceError: a is not defined
4
var url;
由於懸掛於功能塊的頂部。 JavaScript沒有塊級的範圍設定,只有關閉級(功能)。
2
看到這個答案:https://stackoverflow.com/a/185283/548696
的問題是,該塊內定義的變量是尼特作用域此塊(僅對象,你會附上後with
是)。
爲了實現塊級作用域,做這樣的事情:
with({"url": href+"aaa"}) {
// url is available here
}
alert(url); // but not here
或者說使用let
statement,爲with
被認爲是有害的:
let (url = href + "aaa"){
// url available here
}
// but not here
相關問題
- 1. 什麼GRANT權限才能使用%TYPE的變量聲明
- 2. 在外部聲明變量
- 3. 訪問未聲明變量
- 4. 聲明MySQL變量的權限?
- 5. 無法訪問在開關語句外部聲明的變量
- 6. 訪問變量聲明的變量
- 7. 爲什麼PHP不使用在POST之外聲明的變量?
- 8. 爲什麼變量在函數外聲明爲空?
- 9. 變量聲明:爲什麼接口
- 10. 本地變量訪問內部類需要聲明爲最終
- 11. 權限訪問外部存儲在AndroidTest
- 12. 訪問變量的作用域聲明一次課外
- 13. 爲什麼變量在括號外聲明
- 14. 爪哇 - 外部變量聲明
- 15. PHP:如何訪問已在其外部聲明的函數內部的變量?
- 16. 在文件中訪問聲明爲變量的變量
- 17. 如何訪問聲明爲變量的函數內部的變量?
- 18. 提供定義時,聲明爲外部的變量是什麼意思?
- 19. 在聲明前訪問視圖變量
- 20. PHP無法訪問聲明的變量
- 21. 訪問變量到方法聲明中
- 22. 訪問alertController中聲明的變量
- 23. 爲什麼我無法訪問交換機中聲明的變量?
- 24. 爲什麼我無法從內部類訪問外部類變量?
- 25. 爲什麼我們可以從外部類訪問內部類中的變量?
- 26. 爲什麼局部變量不能在聲明和全局變量分配?
- 27. 如何訪問函數的變量,如果外面聲明PHP
- 28. 訪問外部變量(Ajax調用)
- 29. 聲明靜態變量時的輸出是什麼?爲什麼?
- 30. 爲什麼TypeScript需要「聲明文件」來使用外部庫?
與不是一個函數,所以它不會引入新的變量範圍。它只是改變'this'指的是什麼。 – ronalchn