Javascript 日志';在更改变量名时使用不同的值
HTMLJavascript 日志';在更改变量名时使用不同的值,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
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-男孩,这就是所有的密码