powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / определение и вызов функции
19 сообщений из 19, страница 1 из 1
определение и вызов функции
    #38125228
MaximuS_G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет.
Подскажите, плз, в чем проблема. Описываю функцию и делаю ее вызов сразу же. После этого хочу ее еще раз вызвать - не получается. Валится на строчке newf(7). То есть, я так понимаю он не распознает newf как указатель на функцию.
Код: javascript
1.
2.
3.
4.
5.
6.
7.
var a;
var newf = function(newv)
{
	a=5;
} ();

newf(7);


Заранее спасибо!
...
Рейтинг: 0 / 0
определение и вызов функции
    #38125237
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaximuS_G, в переменную newf записывается результат выполнения анонимной функции, а не функция. Тебе нужно так написать:
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
var a;
var newf = function(newv)
{
	a=5;
};

newf();
newf(7);
...
Рейтинг: 0 / 0
определение и вызов функции
    #38125244
MaximuS_G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bazile, спасибо! Приведенный Вами это стандартный способ. Я хотел через одновременный вызов, но видимо так нельзя :).
А вот в таком куске кода:
Код: javascript
1.
2.
3.
4.
5.
var shared = new function()
{
	this.prefill_field = function(ctx, item_ex, fld)
        ...
} ();


Получается с помощью анонимной функции создается объект и присваивается переменной shared? Повторно создать объект с использованием этой функции уже нельзя будет, да? То есть так объявить и вызвать можно только одноразовую функцию, верно?
...
Рейтинг: 0 / 0
определение и вызов функции
    #38125467
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaximuS_GЯ хотел через одновременный вызов, но видимо так нельзя :).
Можно. Вопрос - нужно ли?
Код: javascript
1.
2.
3.
4.
5.
6.
var newf;
(newf = function(newv)
{
	a=5;
}).call();
newf(7);



MaximuS_GПолучается с помощью анонимной функции создается объект и присваивается переменной shared? Повторно создать объект с использованием этой функции уже нельзя будет, да? То есть так объявить и вызвать можно только одноразовую функцию, верно?
Да. Да. Да.
...
Рейтинг: 0 / 0
определение и вызов функции
    #38125646
MaximuS_G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо большое! А Вы можете объяснить механику выражения, приведенного Вами?
bazile
Код: javascript
1.
2.
3.
4.
5.
6.
var newf;
(newf = function(newv)
{
	a=5;
}).call();
newf(7);
...
Рейтинг: 0 / 0
определение и вызов функции
    #38125684
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaximuS_G, оператор присвоения в JS возвращает значение из правой части и мы этим пользуемся чтобы выполнить действие с ним. В данном случае мы имеем объект-функцию у которой и вызываем метод call.
...
Рейтинг: 0 / 0
определение и вызов функции
    #38125706
MaximuS_G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bazileMaximuS_G, оператор присвоения в JS возвращает значение из правой части и мы этим пользуемся чтобы выполнить действие с ним. В данном случае мы имеем объект-функцию у которой и вызываем метод call.
Ага, спасибо, кажется понял. А так не получилось бы?
Код: javascript
1.
2.
3.
4.
5.
(var newf = function(newv)
{
	a=5;
}).call();
newf(7);
...
Рейтинг: 0 / 0
определение и вызов функции
    #38127288
MaximuS_G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaximuS_GbazileMaximuS_G, оператор присвоения в JS возвращает значение из правой части и мы этим пользуемся чтобы выполнить действие с ним. В данном случае мы имеем объект-функцию у которой и вызываем метод call.
Ага, спасибо, кажется понял. А так не получилось бы?
Код: javascript
1.
2.
3.
4.
5.
(var newf = function(newv)
{
	a=5;
}).call();
newf(7);


Проверил сам, не работает так - свал :). Интересно было бы механику понять.
...
Рейтинг: 0 / 0
определение и вызов функции
    #38127293
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaximuS_GИнтересно было бы механику понять.в консоли Хрома
Код: javascript
1.
2.
3.
4.
5.
6.
7.
(var newf = function(newv)
{
	a=5;
}).call();
newf(7);

SyntaxError: Unexpected token var



нельзя объявить переменную внутри скобок.
...
Рейтинг: 0 / 0
определение и вызов функции
    #38127391
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Яростный Мечнельзя объявить переменную внутри скобокСпорим можно?
...
Рейтинг: 0 / 0
определение и вызов функции
    #38128782
MaximuS_G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyЯростный Мечнельзя объявить переменную внутри скобокСпорим можно?
Как? :)
...
Рейтинг: 0 / 0
определение и вызов функции
    #38128899
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
for(var x=0;x<y;x++)

:))
...
Рейтинг: 0 / 0
определение и вызов функции
    #38128945
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariy
Код: javascript
1.
for(var x=0;x<y;x++)


Шайтан курбаши!!!
...
Рейтинг: 0 / 0
определение и вызов функции
    #38128974
mage.lan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaximuS_GВсем привет.
Подскажите, плз, в чем проблема. Описываю функцию и делаю ее вызов сразу же. После этого хочу ее еще раз вызвать - не получается. Валится на строчке newf(7). То есть, я так понимаю он не распознает newf как указатель на функцию.
Код: javascript
1.
2.
3.
4.
5.
6.
7.
var a;
var newf = function(newv)
{
	a=5;
} ();

newf(7);


Заранее спасибо!

надо писать то что вы хотите, а не то, как вам кажется
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
var a;
var newf = function(newv)
{
    return function(){
	a = newv ? newv : 5;
    }
} ();

newf(7);
...
Рейтинг: 0 / 0
определение и вызов функции
    #38128977
mage.lan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и я тоже торможу
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
var a;
var newf = function()
{
    return function(newv){
	a = newv ? newv : 5;
    }
} ();

newf(7);
...
Рейтинг: 0 / 0
определение и вызов функции
    #38128982
mage.lan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
даже не торможу, просто туплю, терь правильно.
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
var a;
var newf = function()
{
    a = 5;
    return function(newv){
	a = newv;
    }
} ();

newf(7);
...
Рейтинг: 0 / 0
определение и вызов функции
    #38129368
MaximuS_G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mage.lanдаже не торможу, просто туплю, терь правильно.
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
var a;
var newf = function()
{
    a = 5;
    return function(newv){
	a = newv;
    }
} ();

newf(7);


Отличное решение! Это замыкание в какой-то степени, да?
Спасибо большое!
...
Рейтинг: 0 / 0
определение и вызов функции
    #38129535
MaximuS_G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mage.lan,
есть одна проблема с таким подходом - необходимо дублировать код в обоих функциях. Или я не прав?
...
Рейтинг: 0 / 0
определение и вызов функции
    #38131251
MaximuS_G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
up
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / определение и вызов функции
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]