Ну можно вообще извращаться по всякому
например так:
<body>
<script type="text/javascript">
var mas = ['text0', 'text1', 'text2'];
Array.prototype.createButton = function(i){
var but = document.createElement('button') , a = this;
var func = function(){alert(a[i])};
but.onclick = func;
but.innerHTML = 'but' + i;
document.body.appendChild(but);
}
for(var i = 0; i < mas.length; i++) mas.createButton(i);
</script>
</body>
или по тупому сделать функцию:
<body>
<script type="text/javascript">
var mas = ['text0', 'text1', 'text2'];
function createButton(arr, i){
var but = document.createElement('button');
var func = function(){alert(arr[i])};
but.onclick = func;
but.innerHTML = 'but' + i;
document.body.appendChild(but);
}
for(var i = 0; i < mas.length; i++) createButton(mas, i);
</script>
</body>