эта функция вернет undefined, т.к. ключевого слова return нет.
function func() {
var a = 5;
var b = 10;
var sum = a + b;
}
var result = func()
console.log(result) // undefined
эта функция вернет строку 'i love js', т.к. вы явно на это указали с помощью ключевого слова return.
function func() {
var a = 5;
var b = 10;
var sum = a + b;
return 'I love js';
}
var result = func()
console.log(result) // 'I love js'
вернет сумму двух чисел
function func() {
var a = 5;
var b = 10;
var sum = a + b;
return sum;
}
var result = func()
console.log(result) // 15
вернет сумму двух чисел
function func(a, b) {
var sum = a + b;
return sum;
}
var result = func(3, 7)
console.log(result) // 10
тоже самое
function func(a, b) {
return a + b;
}
var result = func(2, 2)
console.log(result) // 4
следующие две функции возвращают undefined. первая явно, вторая неявно
function func1() {
return undefined;
}
var result = func1()
console.log(result) // undefined
function func2() {
}
var result = func2()
console.log(result) // undefined
вернет другую функцию
function func() {
return function () {
return 'ааа сложнааа'
};
}
var result = func()
var result2 = result()
console.log(result) // function func()
console.log(result2) // 'ааа сложнааа'
console.log(func()()) // 'ааа сложнааа'
как только в функции встречается это ключевое слово, интерпретатор немедленно останваливает выполненние функции(выходит из нее) и возвращает то что написано после этого ключевого слова. именно поэтому этот цикл выполнит всего лишь одну итерацаю, а не 100, как и должно, и вернет 1.
function func() {
for (var i = 1; i < 100; i = i + 1) {
return i
}
}
var result = func()
console.log(result) // 1
а вот так вернет 100
function func() {
for (var i = 1; i < 100; i = i + 1) {
}
return i
}
var result = func()
console.log(result) // 100
а вот так вернет undefined
function func() {
for (var i = 1; i < 100; i = i + 1) {
}
return
}
var result = func()
console.log(result) // undefined