Различия

Здесь показаны различия между выбранной ревизией и текущей версией данной страницы.

справочник:полезные_советы_для_разработчиков [2017/08/02 08:26]
stroller7
справочник:полезные_советы_для_разработчиков [2017/08/09 10:21] (текущий)
stroller7
Строка 158: Строка 158:
</code> </code>
-Теперь, чтобы узнать все без исключения свойства объекта ui, вам достаточно написать: \\+Теперь, чтобы узнать все свойства объекта ui, вам достаточно написать: \\
<code>console.log(dump(ui, 'ui')); </code> <code>console.log(dump(ui, 'ui')); </code>
Результатом будет что-то вроде \\ Результатом будет что-то вроде \\
Строка 171: Строка 171:
</code> </code>
Как видим, свойства ui сами представляют собой объекты, но мы, по крайней мере, узнали их имена. Двигаемся дальше: \\ Как видим, свойства ui сами представляют собой объекты, но мы, по крайней мере, узнали их имена. Двигаемся дальше: \\
-console.log('ui  = '+ dump(ui.item, 'ui.item')); \\+<code>console.log('ui  = '+ dump(ui.item, 'ui.item')); </code>
И так далее, пока среди свойств объекта не обнаружим необходимое нам для дальнейшей работы. И так далее, пока среди свойств объекта не обнаружим необходимое нам для дальнейшей работы.
 +Если нужно развернуть все свойства объекта, можно применить рекурсивную функцию
 +<code>
 +{literal}
 +<script>
 + function dumpN(obj, prefix, depth) {
 +  var result = "";
 +  for(k in obj) {
 +  result += prefix+" "+k+" : "+ obj[k]+"\r\n";
 +  if(obj[k] && 'object' === typeof obj[k] && prefix.length < depth-1) {
 +    result += dumpN(obj[k], prefix+"-", depth)
 +  }
 +  }
 +  return result;
 + }
 +</script>
 +{/literal}
 +</code>
 +
 +Обращаться с ней нужно аналогично. Пишем: \\
 +<code>console.log(dumpN(ui, 'ui', 10)); </code>
 +Здесь третий параметр (depth) является "глубиной" рекурсии, позволяющий избежать зацикливания. В данном случае на десятой итерации функция остановится.
---- ----
Советы давал **[[http://www.instantcms.ru/users/stroller7 | Странник]]** Советы давал **[[http://www.instantcms.ru/users/stroller7 | Странник]]**
---- ----
 
справочник/полезные_советы_для_разработчиков.txt · Последние изменения: 2017/08/09 10:21 От stroller7