| 
 Передать значение в функцию Как получить тоже самое, но без eval? 
<body>
<script>
	var mas = ['text0', 'text1', 'text2'];
	var len = mas.length;
	for  (var i = 0; i < len; i++) {
		but = document.createElement('button');
		var str = 'but.onclick = function () {\
			alert("' + mas[i] + '");\
		}';
		eval(str);
		but.innerHTML = 'but' + i;
		document.body.appendChild(but);
	}
</script>
 | 
| 
 Ну можно например так: 
<body>
		<script type="text/javascript">
			var mas = ['text0', 'text1', 'text2'];
			for(var i in mas){
				var but = document.createElement('button');
				(function(i){but.onclick = function(){alert(mas[i])}})(i)
				but.innerHTML = 'but' + i;
				document.body.appendChild(but);
			}
		</script>
	</body>
 | 
| 
 Цитата: 
 например, значит есть ещё варианты? | 
| 
 Ну можно вообще извращаться по всякому:) например так: 
<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>
 | 
| 
 да, понял мысль, спасибо  :thanks: | 
| 
 | 
| Часовой пояс GMT +3, время: 13:11. |