Javascript 词汇范围,并排呢?
我读过的关于javascript中作用域的文章讨论了当在其父作用域中定义了嵌套变量/对象/函数时会发生什么。但是,如果您有以下情况,会发生什么:Javascript 词汇范围,并排呢?,javascript,Javascript,我读过的关于javascript中作用域的文章讨论了当在其父作用域中定义了嵌套变量/对象/函数时会发生什么。但是,如果您有以下情况,会发生什么: function x(){ function y(){var u = 3;} function z(){//is u available here?} } 函数y中的变量u在函数z中不可用。但是,如果省略var,它将在中被访问 u = 3; // instead of var u = 3; 省略var将使变量成为全局变量。省略换行符不会影响范围
function x(){
function y(){var u = 3;}
function z(){//is u available here?}
}
函数y中的变量u在函数z中不可用。但是,如果省略var,它将在中被访问
u = 3; // instead of var u = 3;
省略var将使变量成为全局变量。省略换行符不会影响范围。。。不,你在那里是不可接近的,你可以在4秒钟内找到你自己。你检查过了吗?你有空吗。我想没有。我试着把它放在小提琴上,但它不起作用……这个问题似乎离题了,因为它是一个可以用一秒钟的测试轻松回答的问题。应该避免省略变量。我提到它只是为了讨论范围u只有在分配给它的代码执行之后才是全局的,在此之前它没有定义。可能会提到严格的模式限制?