Javascript 元素之间的差异。值==="&引用;和Element.length==0

Javascript 元素之间的差异。值==="&引用;和Element.length==0,javascript,Javascript,我很确定这对大多数人来说都是显而易见的,但不知怎么的,我一直在思考这个问题。请仁慈一点;) 我意识到Element.value返回一个String,而Element.length返回一个Int,但我仍然不确定这两个方法是否返回相同的值(参见示例) 玩具示例 我有下面的输入框 <input id="myInput" type="text" value=""> y值应该是0,但是x值应该是什么空值或0 换言之,我会的 Element.value===”和Element.length==

我很确定这对大多数人来说都是显而易见的,但不知怎么的,我一直在思考这个问题。请仁慈一点;)

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

玩具示例

我有下面的输入框

<input id="myInput" type="text" value="">
y
值应该是
0
,但是
x
值应该是什么<代码>空值或
0

换言之,我会的


Element.value===”
Element.length==0
表示相同的内容?

Element.value
返回允许用户输入的元素的字符串。该属性由系统提供<代码>元素。长度不是属性

JavaScript中的其他各种对象都有一个属性
length
Array
s,所有ArraySih对象都具有
length
属性。它们返回数组的长度。一个数组示例是节点列表。这是一个元素列表。例如,函数
getElementsByTagName
返回一个节点列表。您可以使用
length
检索此列表的长度。string对象还有一个length属性(
string.prototype.length
)。它返回字符串的长度。(字符串也是数组的一种)。请参见此示例:

 alert("test"[0]);
这将提醒
t
。因此,您可以在字符串中循环,就像它在数组中一样


总之:
Element.value==”和Element.length==0
是不同的,因为它们彼此不相关
Element.value===”
Element.value.length===0
几乎做同样的事情。第一个检查返回的字符串是否为空,而第二个检查该字符串的长度。在这两种情况下,字符串的长度都是
0

元素。长度
将是
未定义的
,因为它不是属性。看这里

var属性=[];
var myObject=document.getElementById(“myInput”);
for(myObject中的变量名称){
if(myObject.hasOwnProperty(名称)){
properties.push(名称);
}
}
警报(properties.filter)(函数(值){
返回值&&value.length>0&&value[0]=“l”;
}).join(“\n”)
此语句将为您提供
未定义的
。因为长度是数组字符串和对象的属性。您无法在html对象上实现长度属性


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

他们不需要。要获得字符串的长度,您必须询问
元素.value.length
。DOM元素没有属性
length
,因此您得到了
未定义的
。如果您得到了
length
的一个数字,则表示您得到了一个数组(DOM元素)。感谢您的帮助输入!
 alert("test"[0]);
var x = document.getElementById("myInput").length;