如何使JavaScript对象更具可读性/可导航性
How to make JavaScript objects more readable/navigable?
我正在创建一个具有一堆嵌套对象的对象。当使用web检查器时,我经常不得不重新定位自己,因为所有这些对象都被简单地称为Object
。我的对象树的精简版本如下所示:
v Object
v fields: Array[3]
v 0: Object
v fields: Array[2]
v 0: Object
name: 'name'
placeholder: 'name'
tag: 'input'
type: 'text'
> 1: Object
name: 'name'
tag: 'fieldset'
> 1: Object
> 2: Object
name: 'name'
这个很快就老了。有什么方法可以使这个更可读/可导航?如果是这样,它是否有效?这样的:
v form
v fields: Array[3]
v 0: fieldset
v fields: Array[2]
v 0: input
name: 'name'
placeholder: 'name'
tag: 'input'
type: 'text'
> 1: textarea
name: 'name'
tag: 'fieldset'
> 1: fieldset
> 2: button
name: 'name'
或者这只是我必须要处理的事情?
如果您喜欢阅读纯文本,您可以console.log(JSON.stringify(your_object))
。
要自动展开所有属性,而不是到处读取Object
或Array[l]
,常用的技术是记录经过美化的JSON表示。它还有一个好处,就是当您的对象在记录后发生变化时,不会在控制台中进行更改。您不应该只对非常大的对象这样做,而对循环对象则不可能这样做。
console.log(JSON.stringify(tree, null, 4));
使用命名函数创建对象:
var a = {foo:"bar"};
var b = new function myobj() {
this.foo = "bar";
}
console.log(a,b); // Object, myobj
如果你想要重用对象,你应该使用
function myobj() {
this.foo = "bar";
}
var objA = new myobj();
var objB = new myobj();
console.log(objA,objB); // myobj, myobj
如果你想深入了解这些差异,请参阅TJ Crowder对我的问题的非常详细的回答
相关文章:
- 单击顶部导航时如何进行向下滚动效果(向下滑动).
- angular 1.5应用程序中的导航栏
- 无法从jquery Mobile导航栏重定向到另一个页面
- 引导程序:在导航栏中,显示悬停在单个位置的基于Li Link的不同内容
- 导航到特定事件的另一个变量页面
- MVC 3页面导航和使用javascript传递参数
- 如何在react js中从一个页面导航到另一个页面
- 导航栏没有调整到浏览器屏幕的大小
- 显示放大镜弹出窗口时隐藏导航内容
- DataTable按下键选择扩展/导航
- 正在检测导航到<a name=“;最新主题”></a>
- 带有url的单页网站导航
- 父页面的角度路由器导航高亮显示
- 如何正确编程jQuery动画与平滑(导航栏)
- 动态更改'汉堡包'导航取决于BG图像
- 使用导航属性创建Kendo UI网格模型的问题
- Flexslider导航按钮在悬停时不可见,带有橙色框
- 离开页面导航后保留文本区域内容
- 当主导航离开视图时,为粘性导航应用样式
- 如何使JavaScript对象更具可读性/可导航性