不先声明就赋值?
Assigning a value without declaring it first?
谁能解释一下为什么我们可以在不先声明的情况下赋值。据我了解,我们需要先声明一个变量 (var visitorsName = prompt("Input your name: ")。如果不是变量,visitorName 是什么?非常感谢!
visitor_name = prompt("Input your name : ");
if(visitor_name !=null && visitor_name != ""){
alert("Your name is: " + visitor_name);
} else {
alert("No Name User")
}
创建 javascript 时,它被期望用于小脚本,并且通常由新手程序员使用。因此,它旨在容忍一些草率的编码做法。它执行此操作的方法之一是,如果您未能声明您的变量,它将为您创建一个全局变量。
当这条线运行时:
visitor_name = prompt("Input your name : ");
Javascript 将在名为 visitor_name
的 window
对象上创建一个 属性。之后,任何时候您引用 visitor_name,因为没有其他变量具有该名称,它将访问 window.visitor_name
我建议您避免使用 javascript 的这个 "feature",并且只显式声明您的变量。
Javascript 变量是松散类型的,这意味着您可以将任何类型的值赋给变量。
无论在何处声明,不使用 var 关键字声明的变量范围都将成为全局变量。可以从网页的任何位置访问全局变量
x = 1;
console.log(x);
x = "one";
console.log(x);
但是,不建议在没有数据类型的情况下声明变量,因为它会混淆其他变量的范围,并且可能会更改某些全局变量的值。
谁能解释一下为什么我们可以在不先声明的情况下赋值。据我了解,我们需要先声明一个变量 (var visitorsName = prompt("Input your name: ")。如果不是变量,visitorName 是什么?非常感谢!
visitor_name = prompt("Input your name : ");
if(visitor_name !=null && visitor_name != ""){
alert("Your name is: " + visitor_name);
} else {
alert("No Name User")
}
创建 javascript 时,它被期望用于小脚本,并且通常由新手程序员使用。因此,它旨在容忍一些草率的编码做法。它执行此操作的方法之一是,如果您未能声明您的变量,它将为您创建一个全局变量。
当这条线运行时:
visitor_name = prompt("Input your name : ");
Javascript 将在名为 visitor_name
的 window
对象上创建一个 属性。之后,任何时候您引用 visitor_name,因为没有其他变量具有该名称,它将访问 window.visitor_name
我建议您避免使用 javascript 的这个 "feature",并且只显式声明您的变量。
Javascript 变量是松散类型的,这意味着您可以将任何类型的值赋给变量。
无论在何处声明,不使用 var 关键字声明的变量范围都将成为全局变量。可以从网页的任何位置访问全局变量
x = 1;
console.log(x);
x = "one";
console.log(x);
但是,不建议在没有数据类型的情况下声明变量,因为它会混淆其他变量的范围,并且可能会更改某些全局变量的值。