javascript - 在javascript中定义和声明变量有什么区别吗?

标签 javascript variables

这似乎是一个非常微不足道的问题,但对我来说却非常令人困惑和反复出现。在一些 javascript 手册或教程中,这些术语交替使用。 在其他人中,我发现了这样的解释:当我们使用 var const let 创建变量时,我们声明变量,并且我们 >定义变量,当我们将一些值/对象附加到声明的变量时,如下所示:

var name; //declaring
name = 'Adam' //defining
var age = 'dead' //declaring + defining

使用这两个术语是否有任何批准且正确的规则?

最佳答案

我想说“变量定义”不是标准的 JavaScript 术语。

函数(各种)和对象属性可以定义,但变量总是声明。这个术语可能暗示了变量的声明性本质 - 声明始终适用于完整的当前范围,它不是执行并执行某些操作的操作。

var name 是一个声明。 var Age = 'dead' 是一个带有初始化器的声明。 name = 'Adam' 只是一个赋值。我猜想“定义”变量是指它不再是未定义的,因此赋值语句或声明的初始化程序都可以这样做。不过,我更愿意谈论变量的初始化

关于javascript - 在javascript中定义和声明变量有什么区别吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45972644/

相关文章:

javascript - 使用 sinon.fakeServer 获取夹具数据

javascript - express.js(或类似)应用程序的异步初始化

javascript - 这些符号作为参数的一部分意味着什么?和 ? :

javascript - JS "smart"跨多个段落的文本 chop

javascript - 通过变量访问嵌套的 Javascript JSON 属性

Javascript变量随onclick变化

javascript - 如果另一个 var 为 false 或 true 但不是 boolean false,则将 var 设置为 true

javascript - MSIE : Append XML Element to HTML Element

javascript - 在 JavaScript 中使用字符串/数组字符串作为变量名?

python - 使用 BeautifulSoup 迭代 XML 以提取特定标签并存储在变量中