English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Анализ примеров использования поддельной массива в JavaScript

В этой статье приведен пример использования фейковых массивов в JavaScript. Предлагается к рассмотрению, подробности см. ниже:

Что такое фейковый массив в JavaScript?

Фейковые массивы (подмассивы): их нельзя напрямую вызывать методы массива или ожидать специальных行为的 от свойства length, но их можно итерировать с помощью методов итерации真正的 массива.

1. Типичными примерами являются параметры функции argument,
2. Например, вызовы getElementsByTagName, document.childNodes и т.д., они все возвращают объекты NodeList, которые также являются фейковыми массивами.

Как преобразовать фейковый массив в стандартный массив?

Можете использовать Array.prototype.slice.call(fakeArray) для преобразования массива в настоящий объект Array.

Давайте рассмотрим пример, где используется фейковый массив для решения проблемы суммирования неопределенного количества параметров.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Фейковый массив</title>
</head>
<script>
  function add() {
    var sum = 0;
    console.log(arguments);
    for(var i=0;i<arguments.length;i++){
      sum +=arguments[i];
    }
    return sum;
  }
 console.log(add(1,2,5,8));
</script>
<body>
</body>
</html>

Результат выполнения:

Преобразование фейкового массива в стандартный массив

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Фейковый массив</title>
</head>
<script>
  function add() {
    var sum = 0;
    console.log(arguments instanceof Array); // Это позволяет определить, является ли это настоящее массив, значение возвращает false;
    console.log(arguments); // В этот момент выводятся传入 параметры 1, 2, 5, 8
    var arguments=Array.prototype.slice.call(arguments); // преобразование фальшивого массива в стандартный массив
    arguments.push(10); // в этот момент можно вызывать методы стандартного массива
    console.log(arguments instanceof Array); // можно определить, является ли это настоящий массив, значение возвращает true;
    console.log(arguments); // в этот момент выводятся переданные параметры, push之后的 массив 1,2,5,8,10
    for(var i=0;i<arguments.length;i++){
      sum +=arguments[i];
    }
    return sum;
  }
 console.log(add(1,2,5,8));
</script>
<body>
</body>
</html>

Результат выполнения:

Дополнительную информацию о JavaScript можно найти в разделах сайта: "Суммарные данные структур и алгоритмов JavaScript", "Суммарные данные о методах математических вычислений JavaScript", "Суммарные данные о сортировочных алгоритмах JavaScript", "Суммарные данные о методах и技巧ах итерации JavaScript", "Суммарные данные о методах и技巧ах поиска JavaScript" и "Суммарные данные о методах и技巧ах ошибок и отладки JavaScript".

Надеюсь, что это руководство поможет вам в программировании на JavaScript.

Заявление: содержимое этой статьи взято из Интернета, авторские права принадлежат соответствующему автору. Контент предоставлен пользователями Интернета, самостоятельно загружен, сайт не имеет права собственности, не был отредактирован вручную и не несет ответственности за связанные с этим юридические последствия. Если вы обнаружите контент,涉嫌侵犯版权, пожалуйста, отправьте письмо по адресу: notice#oldtoolbag.com (во время отправки письма замените # на @), и предоставьте соответствующие доказательства. Если после проверки подтвердится, что контент нарушает права на интеллектуальную собственность, сайт немедленно удалит涉嫌侵权的内容.

Вам может понравиться