0

在定义一个函数时,您如何决定该函数是获取作为参数传递的 HTML 元素还是使用它getElementById?一种方式比另一种更快吗?我知道将事物作为参数传递会增加可重用性,但有时很难看出函数是否会在另一段代码中使用。

只是为了澄清而不是使用getElementById我会有这样的东西<input type="text" name="colour" onkeyup="myFunction(this.value)" />

4

3 回答 3

2

为了灵活起见,您可以制作可以采用以下任一功能的函数:

 function whatever( element ) {
   if (typeof element === 'string')
     element = document.getElementById( element );
   // ... do stuff ...
 }
于 2013-02-14T20:13:22.890 回答
2

从功能上讲,如果您在调用函数之前调用 getElementById 并传递结果,或者从函数内部传递结果,那么这并没有太大区别。通过将元素传递给函数有一点额外的灵活性,因为您还可以使用其他选择器(除了 id)来查找您的元素。

于 2013-02-14T20:14:39.883 回答
0

始终传递对象,而不是 ID。传递对象就像给你一本书。传递 ID 是向您显示一本书的名称,然后将这本书放回图书馆并要求您找到它。

没有理由每次都搜索元素。

于 2013-02-14T20:11:48.960 回答