Javascript /环境-如何清除一个对象的所有属性

javascript / omniture - how to clear all properties of an object (s object)

本文关键字:一个对象 属性 清除 环境 何清除 Javascript      更新时间:2023-09-26

我使用环境和跟踪各种属性到"s"变量进行跟踪。我下面的示例代码在每个跟踪事件之后调用一个名为s.clearVars()的函数。但我得到一个错误,说clearVars不是一个有效的函数。有人知道我应该调用什么来清除跟踪对象吗?或者如何清除javascript对象中的所有属性

不要清除整个s对象,它包含了很多监听dom事件的函数,如果你清除了这些,你将失去很多功能。我猜你只是想清除你在页面上填充的所有自定义变量(道具,evars,事件,产品等)。s.clearVars函数是Omniture consulting编写的一个"插件",它为您清除所有这些值。你可以联系你的Omniture客户经理,向他要代码,他可能会也可能不会给你,这取决于他是否想卖给你一些咨询时间,或者他是否知道你在说什么,或者你可以自己用几个简单的循环来完成:

function ClearVars(){
  for (var i=0; i < 75; i++) {
    s['prop'+i]='';
    s['eVar'+i]='';
    if(i<=5)
      s['hier'+i]='';
   }
   svarArr = ['pageName','channel','products','events','campaign','purchaseID','state','zip','server','linkName'];
  for (var i=0; i < svarArr.length ; i++) {
     s[svarArr[i]]=''; 
  }
}

请注意,我还没有测试代码。随便说说。

对矢量青蛙(惊人的)代码进行小修正。

第二个for循环需要i=0来清除pageName变量。

伟大的脚本V_FRog!

这将根据您的原始请求重置整个对象:

s=s_gi(s_account);

对于如何清除JS对象的属性,我认为最好的答案是一起创建一个新对象。

查看这篇文章:如何快速清除Javascript对象?

s = {};