我很确定这对大多数人来说是显而易见的,但我不知何故陷入了思考。请善待 ;)
我意识到 Element.value
返回一个 String
而 Element.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/