javascript - Element.value === ""和 Element.length === 0 之间的差异

标签 javascript

我很确定这对大多数人来说是显而易见的,但我不知何故陷入了思考。请善待 ;)

我意识到 Element.value 返回一个 StringElement.length 返回一个 Int,但是我我仍然不确定这两个方法是否返回相同的值(参见示例)。

玩具示例

我有如下输入框

<input id="myInput" type="text" value="">

和两个具有以下方法的独立函数

---method1---
var x = document.getElementById("myInput").length;

---method2---
var y = document.getElementById("myInput").value;

y 值将是 0,但是 x 值是多少? null 还是 0

换句话说

Element.value === ""Element.length === 0 表达的是同一个东西吗?

最佳答案

var x = document.getElementById("myInput").length;

这条语句会给你 undefined。因为 length 是 Array 的属性,String nodeList objects.You can't implement length property on html objects.

如果您不在文本字段中输入任何文本,

y 将为零。否则它将为您提供您在文本字段中写入的值。如果您想要输入字符串的长度,请尝试 x.value .长度

关于javascript - Element.value === ""和 Element.length === 0 之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27999860/

相关文章:

javascript - 如何在 jquery 上并排区分 mouseout/leave 事件?

javascript - 如何在 JavaScript 中删除数组中的引号?

javascript - 在链接的鼠标悬停效果上加载 div 中的网页

javascript - 从方法引用中捕获 with 回调函数

javascript - 带有 ExpressJS 路由器的 CRUD

javascript - 通过循环内的动态 id 和类访问多个元素(多维数组?)

javascript - Angular 模板引用 : Bind height of one div to height of another

javascript - JS : function not defined, 无法创建 JSON 对象,因为 JS 无法识别 key 是字符串

javascript - 使用 Javascript 验证多项选择单选按钮

javascript - 我的 javascript 框上需要一个关闭按钮