使用Javascript的.value有什么区别?

时间:2019-11-06 17:22:45

标签: javascript

示例

var a = document.getElementById("my-input").value;

var a = document.getElementById("my-input");
var b = a.value;

有时候,当我使用前者时(例如当我回答上一个问题here时),在条件语句中使用时它不起作用,我不得不使用后者来使解决方案起作用。

问题

为什么我回答的问题是西蒙说的

var pass = document.getElementById("passwordInput"); 
if(pass.value == "correct password") {
console.log("hi");
}

不是为他工作吗? 相反,他不得不使用

function checkpassword() { 
    var password = document.getElementById("password"); 
    var pass = password.value;
    if(pass == "admin"){ 
       alert("Correct!");
    }
 }

2 个答案:

答案 0 :(得分:1)

如果您需要将document.getElementById("my-input")用于其他内容,请将其放在单独的变量中。如果您只需要.value,那么您的第一个选择就可以了。如果您不打算使用这种分隔,则将其分离是没有意义的。

答案 1 :(得分:0)

取决于您使用它们的用途。

如果您使用两个不同的变量:

const a = document.getElementById("my-input");
const b = a.value;

您唯一需要知道的是变量a可以通过UI中的事件更改其状态,而变量b保持不变。