javascript - JS变量声明的类型

标签 javascript variables variable-assignment variable-declaration

<分区>

所以在Javascript中,声明单个变量有两种方式:

  1. 声明 var myVariable; 然后赋值 myVariable = 1234; 稍后在代码中
  2. 在一行中声明和赋值 var myVariable = 1234;

对于第一种方式,如果你声明了变量,它的值是undefined,直到它被赋值。所以如果还没有赋值的话,基本上是没有值(value)的。为什么会有人做第一种声明?

在相关说明中,为什么 Javascript,我想任何执行此操作的语言(C、C++ 等)都具有声明和赋值(相对于类似 python 的赋值 myVariable=1234), 因为变量,即使在声明时,在被赋值之前也是无用的?

最佳答案

您的变量将保持未定义,直到解释器到达您为其赋值的行。

所有变量和函数在运行时都被提升到它们各自作用域的顶部。本质上,您在该页面上拥有的每个变量都将在脚本启动时立即声明为未定义,并保持这种状态,直到它在某处发现自己的 = 符号。

Here's a much more in-depth explanation for you :)

稍微滚动到关于提升的部分,但老实说,整篇文章都是非常必要的阅读。

关于javascript - JS变量声明的类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20859719/

相关文章:

java - 如何让程序从java终端接受一行不同的输入类型?

c - 将函数返回赋值给 char 数组变量

javascript - 用 onclick 替换数组元素

javascript - Cypress 测试框架

javascript - 如何使我的 sails 应用程序在 dev 中使用本地 js 和 css 依赖项并在 prod 中使用 cdn ?

javascript - 是否可以使用 JavaScript 将 SVG 对象坐标设置为可变变量?

用 * 与 $ 定义的 Perl 变量

java - 作业问题OCJP;为什么我不能将 int 传递给 short?

c++ - 分配失败

javascript - Javascript 中的条件测试