js语法作用域之间的相关性
语法作用域的级别为:
- 相同级别的语法作用域可以相互的嵌套,例如
1 function foo1{ 2 function foo2(){ 3 function foo3(){ 4 5 } 6 } 7 }
- 高级别的雨打作用域能够包含低级别的语法作用域,例如我们常用的如下例子
1 function foo(){ 2 //...... 3 if(true){ 4 //..... 5 } 6 }
- 低级别的语法作用域不能包含高级别的语法作用域例如
在该例子中会提示标签找不到,这意味着my_label不在函数foo()可见的语法作用域内,这是因为标签低于函数作用域,这段代码和下面的代码为等价的
1 my_label:{ 2 function foo(flag){ 3 while(flag){ 4 break my_label; 5 } 6 } 7 } 8 alert(‘out of my_label’); 9 foo();
1 my_label:{ 2 //..... 3 } 4 function foo(){ 5 while(tag){ 6 break my_label; 7 } 8 } 9 foo();
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步