javascript中不同类型的变量声明

时间:2015-02-14 13:43:31

标签: javascript scope variable-declaration

在javascript中,我发现了一些没有'var'关键字的变量声明 - 例如

<script type="text/javascript">
 userId  
</script>

然后我认为javascript可能是一种动态类型的语言,如 - python

但在其他一些地方发现了一些带有关键字'var'的变量声明,如 -

<script type="text/javascript">
     var accountNumber
</script>

因为我是Javascript的新人,所以对我来说有些困惑。这两个宣言之间的差异是什么?这两个声明变量的范围是否保持相同?

由于

1 个答案:

答案 0 :(得分:2)

不带“var”关键字的变量声明在全局范围内创建变量。

如果您不小心,这可能会引入错误。我总是使用“var”关键字来声明变量。我看到的唯一例外是在另一个函数的词法范围内定义全局变量。

并且,您的第一个片段根本不是变量声明,它是一个表达式,会抛出错误,因为未定义userID。