Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.03.2017, 15:39
Профессор
Отправить личное сообщение для Роман Андреевич Посмотреть профиль Найти все сообщения от Роман Андреевич
 
Регистрация: 12.08.2016
Сообщений: 299

перебор объектов
Коллеги, доброго времени суток, есть код:
var worker= {
person:{
name:'',
age:''
},
section: {
type:'products',
work:'manager'
},
}
        setOptions: function(element, params) {
            for (var key in params) {
                worker[element][key] = params[key];
            }
            return this;
        }

setOptions('section', {
type: 'magazine',
work:'dool'
});


Вопрос в том, что есть объект, у которого свойства другие объекты. Функция setOption должна добавлять свойства и методы к дочерним объектам worker'а. Не работает((((Подскажите где я напоролся. Заранее спасибо
Ответить с цитированием
  #2 (permalink)  
Старый 20.03.2017, 15:53
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Роман Андреевич,
М.б. 11 строка должна быть
var setOptions = function(element, params) {

???
Ответить с цитированием
  #3 (permalink)  
Старый 20.03.2017, 15:58
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,230

Сообщение от Роман Андреевич Посмотреть сообщение
есть код:
var worker= {
person:{
name:'',
age:''
},
section: {
type:'products',
work:'manager'
}*!*,*/!*
}
Запятая лишняя...
Ответить с цитированием
  #4 (permalink)  
Старый 20.03.2017, 16:16
Аватар для Paguo-86PK
Профессор
Отправить личное сообщение для Paguo-86PK Посмотреть профиль Найти все сообщения от Paguo-86PK
 
Регистрация: 16.09.2009
Сообщений: 253

Кaк показывает практика, лишние запятые - нормально так игнорируются. Типа [1,2,3,4,] или {a:1, b:2, c:3,}
Ответить с цитированием
  #5 (permalink)  
Старый 20.03.2017, 16:22
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,230

Тогда вариант от Dilettante_Pro...
Ответить с цитированием
  #6 (permalink)  
Старый 20.03.2017, 16:53
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,127

Сообщение от Paguo-86PK
Кaк показывает практика, лишние запятые - нормально так игнорируются.
видимо вам повезло с браузерами и кодом.
Ответить с цитированием
  #7 (permalink)  
Старый 20.03.2017, 21:46
Аватар для Paguo-86PK
Профессор
Отправить личное сообщение для Paguo-86PK Посмотреть профиль Найти все сообщения от Paguo-86PK
 
Регистрация: 16.09.2009
Сообщений: 253

Никaк не размешу этот код (пишет, что я - подозрительный бот )…
P.S.: Код - пример с избытком запятых (работает во всех браузерах)…
Вложения:
Тип файла: zip suspicious.zip (416 байт, 1 просмотров)

Последний раз редактировалось Paguo-86PK, 20.03.2017 в 21:49.
Ответить с цитированием
  #8 (permalink)  
Старый 20.03.2017, 21:57
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,127

Paguo-86PK,
код не будет работать в ie <11 и в некоторых плагинах
Ответить с цитированием
  #9 (permalink)  
Старый 21.03.2017, 08:33
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,230

У меня серверный язык забракует такой "излишек" запятых...
Ответить с цитированием
  #10 (permalink)  
Старый 21.03.2017, 12:01
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Хром спокойно ест, Опера, Фокс - тоже
var arr = [1,2,3,4,];
alert(JSON.stringify(arr));
var obj = {a:1, b:2, c:3,};
alert(JSON.stringify(obj));

IE11 тоже, В режиме эмуляции - 10, 9 нормально.
8 выдает лишний null в массиве, 7 вываливается по ошибке

Последний раз редактировалось Dilettante_Pro, 21.03.2017 в 12:13.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перебор объектов DivMan Общие вопросы Javascript 15 07.09.2016 10:12
Перебор объектов и вывод значений SeeJ jQuery 6 01.12.2015 10:27
Перебор массива объектов Триви jQuery 12 26.08.2011 09:22
Перебор свойвств и методов объектов Иваннн Events/DOM/Window 8 27.08.2010 15:11
Быстрый поиск объектов Shasoft Общие вопросы Javascript 7 30.07.2009 05:28