Javascript 对可以添加到对象中的方法的数量有限制。如果没有,您如何确定方法的优先级?

Javascript 对可以添加到对象中的方法的数量有限制。如果没有,您如何确定方法的优先级?,javascript,object,methods,Javascript,Object,Methods,为什么第二种方法不起作用? 您可以在单个对象上添加的方法数量是否有限制?如果没有,您如何确定这些方法的优先级?秒: <p>hi</p> <p>hello</p> <p>hi</p> <script> var arr = document.getElementsByTagName("p"); for (var x = 0; x < arr.length; x++) { arr[x].innerHTML =

为什么第二种方法不起作用? 您可以在单个对象上添加的方法数量是否有限制?如果没有,您如何确定这些方法的优先级?

秒:

<p>hi</p>
<p>hello</p>
<p>hi</p>
<script>
var arr = document.getElementsByTagName("p");
for (var x = 0; x < arr.length; x++) {
  arr[x].innerHTML = "Hi there";
}
</script>


<p>hi</p>
<p>hello</p>
<p>hi</p>
<script>
var arr = document.getElementsByTagName("p").length;
for (var x = 0; x < arr; x++) {
  arr[x].innerHTML = "Hi there";
}
</script>
这个长度的元素

以及:


像第一个示例一样进行更改,一切正常。

不,方法的数量没有限制,因此,您正在设置标记的属性文本,而不是向其添加属性。 更进一步地说:

for (var x = 0; x < arr.; x++)
你可能会说:

for (var x = 0; x < arr.; x++)

在第二种情况下,arr是一个整数而不是数组。arr?!?!在第二个代码中,arr是一个没有属性的数字;xfor (var x = 0; x < arr.; x++)
for (var x = 0; x < arr.lenght; x++)