所以我有这个 Omniture 对象。它被称为 s。
s
在 s 内部,我们在“props”和“eVariables”内部跟踪大量信息。
s.prop5 = 'foo'
s.prop22 = 'baz'
s.var6 = 'bar'
我们选择分配哪些 prop 变量和 evars,取决于我们正在跟踪的页面。 例如,在主页上,我们可能希望跟踪 prop5、prop6 和 evar2,但在注册页面上,我们可能希望跟踪 prop4、prop5、prop9、prop10、evar4、evar5。情况各不相同。
每个变量和每个 prop 都代表某种关键分析信息。
现在,尽管这个解决方案并不理想,因为 prop#s 可以全部混合在一起,但我们确实有一个内部保存的主列表,解释哪个变量代表什么。
prop5 means "page name"
prop6 means "page category"
(et cetera)
现在,这很好,而且效果很好,但我们经常必须将代码传递给第三方,以便他们可以自己分配值。我们可能让第三方创建一个页面,我们想要对其进行分析,但我们需要他们能够获取适当的信息来跟踪。为了使其更具可读性,我们正在考虑实现一些映射代码。
companyName.pageName = 'This is the page name'
companyName.contentType = 'This is the content type'
companyName.campaignId = 'This is the campaign ID'
这更具可读性。然后,我们将循环遍历“companyName”对象,并在适当的情况下将每个值分配回“s”。
大家觉得怎么样?这是一个好的做法吗?
最佳答案
老实说,我不明白为什么您首先要使用神秘的属性名称。为什么不使用您在内部提供给第三方的名称呢?这难道不会让您的生活变得更轻松吗?
关于javascript - 使用映射使 JavaScript 对象成员值更具可读性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1674572/