Я ранее размещал версию этого вопроса (JS - Constructor referencing) и выяснил ответ в пределах дубликатов, особенно Access/process (nested) objects, arrays or JSON. Отсюда у меня все еще есть нелепое время, чтобы это работало по назначению.JS - Название свойства Доступ
Учитывая следующий пример кода:
function f1(args) {
this.defaults = {
param1 : 100,
param2 : 900;
}
this.ranges = {
param1 : { min : 0, max : 500 },
param2 : { min : 0, max : 1000 };
}
this.steps = {
param1 : 50,
param2 : 100;
}
var myF1 = new f1();
Я прочитал на предыдущих дублей и изучение доступа неизвестных имен свойств по:
for (var propertyName in myF) {
newName = propertyName;
}
Что мне нужно сделать, это перебирать функцию (или любую функцию) и построить входные данные диапазона HTML5 для функции (имейте в виду, что имена параметров будут сильно отличаться или случайны, поэтому я предполагаю, что мне нужно зациклиться на самом ключе. Так, в случае f1
/myF1
, Сгенерированный HTML5 будет:
param1: <input type="range" name="param1" min="0" max="500" steps="50" />
param2: <input type="range" name="param2" min="0" max="1000" steps="100" />
Примечание: Значения для диапазона =, = имя, мин =, макс = и шаг = все динамически генерируется из свойств функции.
Я пробовал цикл для ключей, призывая к ценностям и почти любым другим исследованиям и попыткам, которые я могу, но я всегда получаю переменные, переписывающие себя, и я предполагаю, что это только больше в глубине, чем этот любитель пловец может понять.
Кроме того, убедитесь, что каждый параметр будет иметь значения defaults
, ranges
и steps
, поэтому мы не должны беспокоиться о том, что уровень рандомизации или вариации THAT. Спасибо SO-JS гуру!
Если я не ошибаюсь, в основном вы хотите сгенерировать html (ввод), вызвав внутренний цикл 'f1()'. Конечно, разные значения на входе будут динамическими? –
Я могу сгенерировать HTML и т. Д. Я просто не могу правильно получить имена параметров из 'defaultValues' и последующих для' диапазонов' и 'шагов'. Если я смогу ПОЛУЧИТЬ данные, я могу сделать с ним по мере необходимости для HTML5 и другого использования. Итак, чтобы ответить на ваш вопрос более или менее: да. – user3223880