Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 日志';在更改变量名时使用不同的值_Javascript_Html_Ecmascript 6 - Fatal编程技术网

Javascript 日志';在更改变量名时使用不同的值

Javascript 日志';在更改变量名时使用不同的值,javascript,html,ecmascript-6,Javascript,Html,Ecmascript 6,HTML JS var submit=document.getElementById(“提交”); var email=document.getElementById(“电子邮件”); var name=document.getElementById(“名称”); console.log(名称); 控制台日志(电子邮件); 控制台输出: [object HTMLInputElement] <input type="email" id="email&quo

HTML


JS

var submit=document.getElementById(“提交”);
var email=document.getElementById(“电子邮件”);
var name=document.getElementById(“名称”);
console.log(名称);
控制台日志(电子邮件);
控制台输出:

[object HTMLInputElement]
<input type="email" id="email" placeholder="email">
控制台输出

<input type="text" id="name" placeholder="name">
<input type="email" id="email" placeholder="email">


有人能解释变量名
name
的原因和问题所在吗?

使用
const
代替
var
,它会解决您的问题


因为
var
的范围与
window.name
在某种程度上冲突。

这里发生的事情是,当您声明
name
var时,实际上是在全局范围内重新分配
name
var。然后输入元素被转换成字符串。这是因为当您在全局范围内运行此脚本时,基本上是要求更改window.name

根据MDN文档,window.name将使用
toString
方法将所有值转换为其字符串表示形式


现在,为了避免这个问题,有几种方法,其中之一是不要在全局范围内编写脚本,这就是我的建议。

检查脚本中是否有其他“x”变量code@Govi-男孩,这就是所有的密码