<分区>
当我从浏览器控制台(Chrome 和 Firefox)运行简单的 javascript 代码时,我发现了一个让我困惑的现象。
当我输入 say 时
>var a = "a"
浏览器会返回一个字符串
>"undefined"
但如果我只是输入
>a = "a"
浏览器会返回字符串
>"a"
为什么会这样?
标签 javascript
<分区>
当我从浏览器控制台(Chrome 和 Firefox)运行简单的 javascript 代码时,我发现了一个让我困惑的现象。
当我输入 say 时
>var a = "a"
浏览器会返回一个字符串
>"undefined"
但如果我只是输入
>a = "a"
浏览器会返回字符串
>"a"
为什么会这样?
最佳答案
如果你写
alert(var a = 'a')
你得到一个语法错误,var
是 javascript 语法的一部分,它不返回任何东西。
然而,a = 'a'
部分确实返回了一些东西。
你可以做 var a = b = c = d = 'e';
并且 d = 'e'
返回 e
,它被送入 c=d
,它实际上是 c = 'e'
等。一旦到达 var,它就会停止返回值。
如果您键入 var a;
,您将获得未定义。 var a = 'b'
本质上只是 var a; 的简写; a = b;
关于javascript - 为什么浏览器返回未定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21518530/