分配值而不先声明它?

时间:2020-05-09 03:38:52

标签: javascript variables alert prompt

任何人都可以解释为什么我们可以在不先声明的情况下分配值。据我了解,我们需要先声明一个变量(var VisitorName =提示符(“输入您的名字:”)。如果不是变量,什么是visitorName?非常感谢!

mbtiData.posts.str.split('\|\|\|', expand=True)

2 个答案:

答案 0 :(得分:2)

创建javascript时,应将其用于小型脚本,并且通常由新手程序员使用。结果,它被设计为容忍一些草率的编码实践。它执行此操作的方法之一是,如果您未能声明变量,它将为您创建一个全局变量。

此行运行时:

 visitor_name = prompt("Input your name : ");

JavaScript将在名为window的{​​{1}}对象上创建一个属性。以后,每次您访问visitor_name时,由于没有其他具有该名称的变量,它将访问visitor_name

我建议您避免使用javascript的“功能”,而只需显式声明变量。

答案 1 :(得分:0)

JavaScript变量的类型宽松,这意味着您可以将任何类型的值分配给变量。

不带var关键字声明的变量的范围将变为全局变量,而与声明的位置无关。可以从网页的任何位置访问全局变量

window.visitor_name

但是,不建议您声明没有数据类型的变量,因为它会干扰其他变量的范围,并可能更改某些全局变量的值。