#javascript #arrays
Вопрос:
- Я полный новичок в JS. Теперь пытаюсь обрабатывать массивы
- вопрос: почему приведенный ниже код не работает. Цель состоит в том, чтобы создать функцию, которая добавляла бы переменную в массивы, но результат все еще не определен. Я горячо затормозил.
var b = []; var n = 1; function name() { b.push(n); console.log(b); } console.log(b);
Комментарии:
1. Как вы выполняете свой код? На самом деле, это не дает никакого
undefined
результата
Ответ №1:
Вам нужно вызвать name()
функцию, тогда ваш код будет работать так, как ожидалось
var b = []; var n = 1;
function name() { b.push(n); console.log(b); };
name();
.as-console-wrapper { max-height: 100% !important; top: 0; }
Вы также можете создать IIFE (немедленно вызываемое функциональное выражение, например:
(() => {
var b = [], n = 1;
b.push(n);
console.log(b);;
})()
.as-console-wrapper { max-height: 100% !important; top: 0; }
Комментарии:
1. Спасибо, теперь это работает 🙂
Ответ №2:
В написанном вами коде функция name
объявлена, но никогда не используется. Попробуйте вызвать функцию следующим образом name()
var b = []; var n = 1;
function name() {
b.push(n); console.log(b);
}
name();
Ответ №3:
Есть два способа сделать это.
Либо сделайте эту функцию жизненной(Немедленно вызываемое выражение функции), либо вызовите эту функцию
ИИФЭ, как правило, используются для уменьшения загрязнения глобального масштаба.
Первый способ-явным вызовом функции:-
var b = [];
var n = 1;
function name() {
b.push(n);
console.log(b);
}
name()
console.log(b);
Второй способ — использование IIFE
var b = [];
var n = 1;
(function name() {
b.push(n);
console.log(b);
})()
console.log(b);
Ответ №4:
Вы должны вызвать функцию или, если вы хотите выполнить функцию без ее вызова, вы должны использовать шаблон IIFE
(Немедленно вызываемое выражение функции) .;
var b = [];
var n = 1;
(function name() {
b.push(n);
console.log("Inside the function: ",b);
})();
console.log("Outside the function: ",b);