以下两种传递/设置变量的方式之间的优缺点是什么?

<input type="password" name="pw1" id="pw1" onkeyup="return passwordCheck(document.getElementById('pw1'), document.getElementById('pw2'))"/

function passwordCheck(first, second){...

要么

<input type="password" name="pw1" id="pw1" onkeyup="return passwordCheck()"/

function passwordCheck(){
var first = document.getElementById('pw1')
var second = document.getElementById('pw2')...

最佳答案

它使您的html标记更易于阅读(和js代码)。它(还)使您的代码与标记脱钩。更好的方法是通过将id定位为事件监听器与输入绑定。这样,您的标记中就没有js了。

编辑以回应评论:我指的是第二个示例(调用函数)更好,但总的来说,进行事件绑定更好。有多种方法可以执行此操作,下面是一个示例:

<input type="password" name="pw1" id="pw1"/>

// ...

document.getElementByID('pw1').onkeyup = function() {
  // do stuff
}

07-24 14:46