Javascript — массивы

#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(); 

пример инструментов разработчика chrome

Ответ №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);