Не обидно, но вопрос кажется несколько запутанным.Как уже отмечали другие, во втором примере не должно быть скобок вокруг init()
.И когда вы говорите function setup() { ... }
, вы просто определяете функцию, а не вызываете ее - это означает, что в этом примере функция никогда не вызывается.
Но главное, что я отправляю этот ответ, чтобы попытаться обратиться к немуэто: «Вызов функции инициализации против возврата вызова этой функции».Неверно думать, что вы «возвращаете вызов функции» во втором примере.Когда вы говорите return init()
, сначала вызывается init()
и возвращается некоторое значение, а затем ваша функция foo
возвращает значение, возвращаемое init()
.
Так что этот вопрос вы должны задать.Я просто хочу, чтобы foo
позвонил init
, или я хочу, чтобы foo
позвонил init
и вернул значение, которое возвращает init
?В этом разница между ними (после устранения других ошибок).