Ну можно вообще извращаться по всякому

например так:
<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>