Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Проверка повторного вызова функции без глобальных переменных (https://javascript.ru/forum/misc/46082-proverka-povtornogo-vyzova-funkcii-bez-globalnykh-peremennykh.html)

Vlasenko Fedor 28.03.2014 03:52

лучший г....кодер - это я:haha:
var foo = function () {
	alert(this.exec ? "Уже запускалось" : "Первый раз");
	this.exec = true;
};
foo();
foo();

jsnb 28.03.2014 04:01

Цитата:

Сообщение от Poznakomlus (Сообщение 304809)
var foo = function () {
	alert(this.exec ? "Уже запускалось" : "Первый раз");
	this.exec = true;
};
foo();

Просили ж без глобальных переменных.

Vlasenko Fedor 28.03.2014 04:12

Цитата:

Сообщение от jsnb (Сообщение 304810)
Просили ж без глобальных переменных.

если вы хотите избавится от глобальных переменных, функций, объектов, оберните свой код в
(function () {
//здесь код
}());
:p

jsnb 28.03.2014 04:22

Цитата:

Сообщение от Poznakomlus (Сообщение 304811)
если вы хотите избавится от глобальных переменных и функций оберните свой код в
(function () {
//здесь код
}());
:p

Не поможет:
(function () {
  var foo = function () {
    alert(this.exec ? "Уже запускалось" : "Первый раз");
    this.exec = true;
  };
  foo();
}());

alert(exec);

Vlasenko Fedor 28.03.2014 04:37

jsnb,
эт ты прав оказался, тогда так
var foo = function () {
  alert(foo.exec ? "Уже запускалось" : "Первый раз");
  foo.exec = true;
};
foo();
foo();
alert(exec);

и соответственно
(function () {
  function foo() {
    alert(foo.exec ? "Уже запускалось" : "Первый раз");
    foo.exec = true;
  };
foo();
foo();
}());
alert(foo.exec);
alert(exec);

ksa 28.03.2014 08:37

GOD, я тебя даже не знаю... :D

GOD 28.03.2014 13:02

ksa, а говоришь так, будто я не лучше программист чем ты) хотя наши коды доказывают что я лучше тебя программирую. ты просто сарказмнул так на счет моих примеров БУДТО ОНИ ХУЖЕ твоих) я и удивился.

ksa 28.03.2014 13:19

Цитата:

Сообщение от GOD
наши коды доказывают что я лучше тебя программирую

Флаг тебе в руки...

GOD 28.03.2014 13:26

:victory:

GlaIZier 28.03.2014 15:41

Всем огромное спасибо за помощь. Я посмотрю, что можно применить на выходных или в понедельник.


Часовой пояс GMT +3, время: 15:01.