Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.06.2017, 23:51
Новичок на форуме
Отправить личное сообщение для deetolog Посмотреть профиль Найти все сообщения от deetolog
 
Регистрация: 13.06.2017
Сообщений: 7

Передать массив в функцию
Приветствую, господа. Не подскажите, как передать массив в функцию, отлаживаю тут под хромом бажный говноскрипт.

b = function(t) {
            "use strict";
            var n = function(n, o) {
                n = t.extend(!0, {}, n);
                var i, a, u, c, s, f = "qwertyuioasdfgjklzxcvnmQWERTYUIOASDFGJKLZXCVNM", l = "0123456789", d = o ? 2 : 0;
                for (c = 0; c <= e(7) + d; c++) {
                    i = "",
                    a = 0;
                    for (var m = 0, p = 100; p > m; m++) {
                        for (s = 0; s <= e(3); s++)
                            u = e(f.length) - 1,
                            i += f.substring(u, u + 1);
                        if (!n.hasOwnProperty(i))
                            break
                    }
                    for (s = 0; s <= e(7); s++)
                        u = e(l.length) - 1,
                        a += l.substring(u, u + 1);
                    n[i] = a
                }
                return r(n)
            }
              , e = function(t) {
                return Math.round(Math.random() * t)
            }
              , r = function(n) {
                var e = t.objectKeys(n);
                e.sort(function() {
                    return .5 - Math.random()
                });
                for (var r = {}, o = 0, i = e.length; i > o; o++)
                    r[e[o]] = n[e[o]];
                return r
            };
            return n
        }(n),


Массив в хроме выводит нормально, создаю локально, в чем дело, не передается в функцию и все тут.
Ответить с цитированием
  #2 (permalink)  
Старый 14.06.2017, 00:35
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

break;
(n);
Ответить с цитированием
  #3 (permalink)  
Старый 14.06.2017, 08:43
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,218

Сообщение от deetolog
как передать массив в функцию
var a=[1,2,3,4,5];
test(a);

function test(Arr) {
   alert(Arr);
};
Ответить с цитированием
  #4 (permalink)  
Старый 14.06.2017, 20:08
Новичок на форуме
Отправить личное сообщение для deetolog Посмотреть профиль Найти все сообщения от deetolog
 
Регистрация: 13.06.2017
Сообщений: 7

Не получается, господа. Посмотрите на скрины. В хроме я без проблем вывожу весь массив (ключ значение), а при отладке в sfiddle.net - нифига не прет, только [object Object]
Изображения:
Тип файла: jpg fiddle.jpg (7.3 Кб, 5 просмотров)
Тип файла: jpg chrome.jpg (14.7 Кб, 4 просмотров)
Ответить с цитированием
  #5 (permalink)  
Старый 14.06.2017, 20:18
Новичок на форуме
Отправить личное сообщение для deetolog Посмотреть профиль Найти все сообщения от deetolog
 
Регистрация: 13.06.2017
Сообщений: 7

Сообщение от Rise Посмотреть сообщение
deetolog, сам смотри свои нечитаемые скрины)
Да это форум тупит.





Ответить с цитированием
  #6 (permalink)  
Старый 14.06.2017, 21:44
Новичок на форуме
Отправить личное сообщение для deetolog Посмотреть профиль Найти все сообщения от deetolog
 
Регистрация: 13.06.2017
Сообщений: 7

Сообщение от Rise Посмотреть сообщение
deetolog, что-то ты путаешь панель RESULT на скрипке с панелью Console в отладчике, это не одно и тоже, RESULT это типа окно просмотра браузера, а консоль она везде консоль вывод туда делается так console.log(n), и это у тебя не массив, а объект.
Так как же передать объект в функцию, то, что туплю, это да, согласен.
Ответить с цитированием
  #7 (permalink)  
Старый 14.06.2017, 22:17
Новичок на форуме
Отправить личное сообщение для deetolog Посмотреть профиль Найти все сообщения от deetolog
 
Регистрация: 13.06.2017
Сообщений: 7

Так в том то и дело, что в консоли хроме все нормально. Разобрался, все значения видно. А когда пытаюсь отладить в jsfiddle, не получается, не передается нормально обьект n.
Я, вот как отлаживаю. Через бреакпоинт в хроме выбираю кусок кода, потом его переношу в jsfiddle, а результат выводу через document. write()
Ответить с цитированием
  #8 (permalink)  
Старый 16.06.2017, 18:02
Новичок на форуме
Отправить личное сообщение для deetolog Посмотреть профиль Найти все сообщения от deetolog
 
Регистрация: 13.06.2017
Сообщений: 7

Сообщение от Rise Посмотреть сообщение
Так надо соображать логику кода, а не просто куски выбирать.
Само собой. В хроме разобрался, ставлю бряку в нужном мне месте, все данные ожидаемо приходят в функцию. А при отладке в веб отладчике, не прет. сдается мне, я правильно не передаю объект в функцию, читал че-то, но так и не понял, толком, объекты вроде передаются по ссылке, не просто копируются, как переменные.
Пример. В веб отладчике имею объект.
var n = {
  p: 267249,
  b: 641991,
  f: "khf1hl",
  bf: "xvash",
  np: 1,
  p: 267249,
  r: 70991,
  render: "%7B%22i%22%3A0%2C%22o%22%3A0%2C%22w%22%3A1%2C%22m%22%3A0%2C%22a%22%3A0%2C%22mb%22%3A0%7D"
}

Вот. Обращаюсь я к нему, через

document.write(n)


И получаю, вместо вывода всех элементов, вот это
[object Object]

А если обратиться вот так

document.write(n["f"])


нужный элемент выводится

Видимо, и в функцию передается
[object Object]
Ответить с цитированием
  #9 (permalink)  
Старый 16.06.2017, 18:53
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,115

Сообщение от deetolog
И получаю, вместо вывода всех элементов, вот это
document.write(JSON.stringify(n))
Ответить с цитированием
  #10 (permalink)  
Старый 16.06.2017, 22:56
Новичок на форуме
Отправить личное сообщение для deetolog Посмотреть профиль Найти все сообщения от deetolog
 
Регистрация: 13.06.2017
Сообщений: 7

Сообщение от рони Посмотреть сообщение
document.write(JSON.stringify(n))
Ага, спс. Сам уже тоже допер, что можно привести к виду строки через эту функцию, но, это не то.
Все оказалось гораздо запутаннее. А все из за обфускации.
Из за проклятой обфускации не поймешь, где переменная, а где функция.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как передать значение в функцию в переменную с нужным именем? bratkovsky Общие вопросы Javascript 1 12.10.2015 08:18
Как передать значения в функцию? misha2015 Серверные языки и технологии 8 14.04.2015 18:04
передать параметры в функцию jQuery AJAX Lion_astana Общие вопросы Javascript 7 21.02.2014 17:25
передать анонимную функцию, вызывающую другую функцию с нужными параметрами Ваяс Общие вопросы Javascript 5 21.02.2013 20:12
Подскажите пожалуйста как передать массив в функцию serov Элементы интерфейса 3 21.08.2010 19:37