JavaScript で i 番目のボタンが押された時に処理をする方法

ここを読んでいて、(本文とはあまり関係がないけれど)では i 番目のボタンが押されたときに i を使って処理をするには、どうしたらよいかと考えた。ただし、HTML の中に onclick を書いて処理したくない(全部ちがう関数名にしないといけないので)。

これでよい?
HTML

<form name="bt">
<input type="button" value="1">
<input type="button" value="2">
<input type="button" value="3">
<input type="button" value="4">
</form>

JavaScript

function f(i) {alert((i + 1).toString() + "番目のボタンが押されました");}
var d = document.bt.elements;
for (var i = 0; i < d.length; i++) d[i].setAttribute("onclick", "f(" + i + ");");