| 
 | 
| 
 использование замыкания Такой вот вопрос 
var a;
function getA()
{
  if (typeof(a) == 'undefined')
  {
    a = 1 + 1;
  }
  return a;
}
var b = getA();
var c = getA();
Можно ли в сделать то же самое но не объявляя переменную 'а' в глобальной области? Ну и чтоб а вычислялось 1 раз. | 
| 
 Что вы хотите этим сделать? | 
| 
 Можно. Вариантов несколько. Только приведенный Вами пример говорит о бесполезности этого. На самом деле это может быть весьма полезным для создания единственного экземпляра объекта - фабрика объектов. | 
| 
 Учи основы!!! На сайте куча интересного, полезного, написанного доступным языком материала! 
function getA(){
  var a = 1+1;
  return a;
}
var b = getA(), c = getA();
 | 
| 
 Skipp,with-love-from-siberia, я хочу вычислять значение один раз. которое буду использовать with-love-from-siberia, Цитата: 
 | 
| 
 Sweet, Спасибо за В'аш совет. Только вот код написанный после В'ашего совета проблему не решает. Я ведь правильно понял, В'ы предложили решение? | 
| 
 
var getA = (function() {
var a;
return function getA()
{
  if (typeof(a) == 'undefined')
  {
    a = 1 + 1;
  }
 
  return a;
};
})();
var b = getA();
var c = getA();
 | 
| 
 Riim, Спасибо! То что нужно! | 
| 
 Цитата: 
 Вот еще: 
function getA()
{
    if ( typeof arguments.callee.a == 'undefined') {
        arguments.callee.a = 1 + 1;
    }
    return arguments.callee.a;
};
alert(getA());
alert(getA());
 | 
| 
 Цитата: 
 UPD: Есть еще такой вариант: 
function getA(){
  return 1+1;
};
:) | 
| Часовой пояс GMT +3, время: 22:11. | 
 |