Показать сообщение отдельно
  #2 (permalink)  
Старый 25.09.2010, 15:42
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Этот подход можно назвать инкапсуляцией на основе замыканий, что позволяет получить доступ ко всем внешним данным, но при этом защищая свои.

http://habrahabr.ru/blogs/webdev/38642/
http://javascript.ru/basic/closure


самые простые примеры:
<script type="text/javascript">
(function(i) {
	alert(i*i);
})(10);
</script>

<script type="text/javascript">
var i = (function(i) {return i*i;});
alert(i(10))
</script>

<script type="text/javascript">
window.onload = function(){
	var array = document.getElementsByTagName('div');
	for(var i=0; i<array.length; i++) {
		(function(i) {
			array[i].onclick = function() {
				alert(i);
			}
		})(i);
	}
};
</script>
<div>Click1</div>
<div>Click2</div>

Последний раз редактировалось monolithed, 25.09.2010 в 16:13.
Ответить с цитированием