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