12.3.8 删除数据项

  共享对象写入磁盘后,其数值便被保存。如果打开共享对象,修改其中的一些项目,则未被操作的项目将会被延续保存。

例如,下面的代码在磁盘上建立了一个包含五个数据项目的数据共享对象:

var shareobj:SharedObject = SharedObject.getLocal("endsgame""/");

 

shareobj.data.bname="Ender's name";

shareobj.data.price=29.6;

shareobj.data.isOrigin=false;

shareobj.data.sellurl=new URLRequest("http://boookstore");

shareobj.data.totalpage=344;

如果在另一个程序中打开该数据共享对象,并修改其中的两个数据项目,另外新建一个项目。

var shareobj:SharedObject = SharedObject.getLocal("endsgame""/");

//修改

shareobj.data.bname="Jacks Dream";

shareobj.data.price=18.5;

//新建项目

shareobj.data.transLang="Spanish";

在最后执行数据写入时,并非仅仅写入涉及到的三个项目,而是将位操作的项目与操作的项目一同写入。如果读取此数据共享对象的全部项目,则结果如下:

var shareobj:SharedObject = SharedObject.getLocal("endsgame""/");

trace(shareobj.size);

for (var foo:String in shareobj.data) {

         trace("Item "+foo+" :"+shareobj.data[foo]);

}

//代码输出:

208

Item totalpage :344

Item transLang :Spanish

Item bname :Jacks Dream

Item isOrigin :false

Item sellurl :[object Object]

Item price :18.5

为了删除不需要的项目,应该对这些项目调用delete关键字。下面的代码删除数据共享对象中的指定项目项目:

delete shareobj.data.sellurl;

delete shareobj.data.totalpage;

或者调用clear()方法,清空一个数据共享对象。调用clear()方法后,数据共享对象的内存和磁盘数据都会被清空。

shareobj.clear();

trace(shareobj.size);// output: 0

 

shareobj.data.price=18.5;

shareobj.data.transLang="Spanish";

trace(shareobj.size); //output : 66

在清空一个数据共享对象后,其内部的数据消失了,但是该对象依然存在,可以使用原来的引用标识继续添加新的属性。

 

你可能感兴趣的:(12.3.8 删除数据项)