Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 词汇范围,并排呢?_Javascript - Fatal编程技术网

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将使变量成为全局变量。省略换行符不会影响范围

我读过的关于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将使变量成为全局变量。

省略换行符不会影响范围。。。不,你在那里是不可接近的,你可以在4秒钟内找到你自己。你检查过了吗?你有空吗。我想没有。我试着把它放在小提琴上,但它不起作用……这个问题似乎离题了,因为它是一个可以用一秒钟的测试轻松回答的问题。应该避免省略变量。我提到它只是为了讨论范围u只有在分配给它的代码执行之后才是全局的,在此之前它没有定义。可能会提到严格的模式限制?