这是变量定义还是声明?为什么?
var x;
..并且是在此语句之后为x保留的内存?
编辑:在C extern int x;是一个声明,int x = 5;是一个定义.JS中的模拟是什么?维基百科说声明分配内存,定义为这个分配的内存分配一个值.
第二次编辑:我认为@Deryck的解释听起来不错,但是有些输出不同意他的解释:
> var x;
undefined
> x
undefined // now it looks like x is defined to the value undefined
> y
ReferenceError: y is not defined
Run Code Online (Sandbox Code Playgroud)
如果ReferenceError输出会说它y is not declared会有意义.但我经常读到JS有两个非值:null和undefined.那var x将是一个有价值的定义undefined.
javascript ×1