169 похожих чатов

Может кто объяснить, почему рез работы функции выводит 'lo'?

11 ответов

13 просмотров

А если вместо запятой + поставить?

geroni mo- Автор вопроса
Влад
А если вместо запятой + поставить?

Тогда, конечно, будет 'hello' т.к. я передаю 1 параметр в функцию

Comma operator выполняет все операнды слева направо и возвращает значение последнего операнда, тут нет вызова функции

geroni mo- Автор вопроса
versteht es niemand
Comma operator выполняет все операнды слева направ...

Ага. Я думала, что () после декларации функции это передача параметров в неё и вызов. Неправильный синтаксис? Можете напомнить как это называется? Я загуглю, спасибо

Функция и не вызывается В джс есть такой синтаксис: (Что-то1, что-то2, что-то3) Вернётся последнее

Скобки нужны вокруг функции (function(){ /* ... */ } ) ()

или перед функцией какой-нибудь оператор ~function(){ /* ... */ } ()

geroni mo
Ага. Я думала, что () после декларации функции это...

Будь твой синтаксис невалиден, случился бы SyntaxError. У тебя всё валидно, просто работает не так, как ты ожидаешь. У тебя функция создается через FunctionDeclaration. Это не выражение, ты не можешь его использовать тут же, FD ничего не возвращает. Чтобы функцию тут вызвать, как тебе выше уже и сказали, тебе следует обрамить этот FD скобками. Тогда он магически становится ExpressionStatement, то есть выражением. Каждое выражение вычисляется и возвращает какое-то значение, в этом случае — ссылку (reference) на функцию. Теперь ты можешь сделать великий и ужасный вызов по ссылке (calling by reference). Разрешаю не гуглить.

FTOH
или перед функцией какой-нибудь оператор ~function...

Для чего нужен оператор перед функцией? Не встречал таких примеров

Roman Ramp
Для чего нужен оператор перед функцией? Не встреча...

чтобы функция считалась выражением и её можно было сразу запустить не оборачивая в скобки

Aleksandr Rekuts
чтобы функция считалась выражением и её можно было...

понял, про скобки знал, но что-то не подумал)

Похожие вопросы

Обсуждают сегодня

Здравствуйте, хочу сделать HelloWorld в консоли Дельфи, но функция API ничего не выводит, что я делаю не так? program Hello; {$APPTYPE CONSOLE} uses System.SysUtils, WinAPI.Wi...
Sergey Vinogradov
20
лучше скажите, причём тут паскаль?
Alexey Kulakov
32
Вопрос на перед, на следующую пятницу. Сколько строк кода можно вешать на одного программиста, понятно что если проект хорошо написан то можно и миллион. Но есть же где то пре...
AlekseyK Kluchnikov
31
Немного оффтопа: а кто на чем сидит для осдева в плане ide/редактора? Последнее время сидел на vscode, но я его прям не могу нормально воспринимать, перешел на сlion, но меня...
Evg Resh
29
#include <stdio.h> #include <stdlib.h> #include <time.h> int** generate_table(int size_matrix) { int** matrix = (int**)malloc(size_matrix * sizeof(int*)); for (int i ...
Чувак
1
@PerlBanjoBot use v5.38; sub split_on_cond($arr, $cond) { ($a, $b) = ([], []); push @{ $cond->($_) ? $a : $b }, $_ for @$arr; ($a, $b) } use Data::Dumper; warn Dumpe...
Sergei Zhmylove
10
Всем привет! как узнать, что текст в TSkLabel был выведен сокращенным ? Есть функция для TLabel которая позволяет определить , что текст выведен сокращенным function TFrmMai...
DELPHI SOLUTIONS
6
Вот объясните, как это работает: Вот есть допустим unix-подобная система, и программа запускает допустим printf или fork, как это передается ядру, и как оно обрабатывать начин...
Егор
14
Дебил? Я ищу друга
Bitard 228
27
У меня это всегда вопрос вызывало.. Нафига писать код так, чтобы потом ошибки вылавливать?
Nik
44
Карта сайта