- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
-
- PAGE 1 -
把数组和自定义对象转换成字符串
把数组和自定义对象转换成字符串
Converting Arrays and Custom Objects to Strings
问题
Problem
怎样把数组或自定义对象转换成字符串形式,以作为URL 搜索字符串来传递或保存在 cookie 中,并在稍后需要的时候,能够从字符串重组为数组或对象类型。
解答
Solution
用讨论中介绍的objectsArraysStrings.js脚本库。要把自定义对象转换成字符串形式,调用object2String()函数,把对象的引用作为参数:
var objAsString = object2String(myObj);
要把数组(包括自定义对象的数组)转换成字符串形式,调用array2String()函数,把数组的应用作为参数:
var arrAsString = array2String(myArray);
要把字符串重新转换成原有的数据类型,可以使用相应的库函数:
var myArray = string2Array(arrayString); var myObj = string2Object(objString);
讨论
Discussion
示例3-1列出了objectsArraysString.js库的代码。示例3-1:objectsArrayString.js 转换函数库
-
- PAGE 3 -
function object2String(obj) { var val, output = ;
if (obj) {
output += {;
for (var i in obj) { val = obj[i];
switch (typeof val) { case (object):
if (val[0]) {
output += i + : + array2String(val) + ,;
} else {
output += i + : + object2String(val) + ,;
}
break;
case (string):
output += i + : + encodeURI(val) + ,; break;
default:
output += i + : + val + ,;
示例3-1:objectsArrayString.js 转换函数库(续例)
}
}
output = output.substring(0, output.length-1) + };
}
return output;
}
function array2String(array) { var output = ;
if (array) {
output += [;
for (var i in array) { val = array[i]; switch (typeof val) {
case (object):
if (val[0]) {
output += array2String(val) + ,;
} else {
output += object2String(val) + ,;
}
break;
case (string):
output += + encodeURI(val) + ,;
break; default:
output += val + ,;
}
}
output = output.substring(0, output.length-1) + ];
}
return output;
}
function string2Object(string) {
eval_r(var result = + decodeURI(string)); return result;
}
function string2Array(string) {
eval_r(var result = + decodeURI(string)); return result;
}
库中开始的两个函数实现了到字符串的转换。第一个,object2String()对自定义对象的属性进行操作,并以一定的格式组合字符串,这个格式与用大括号生成对象的简洁语法的格式相同。这个函数唯一的参数是被转换自定义对象的引用。返回值是一个字符串,它包含大括号括起来的文本。
为了演示object2String()的作用,从一个简单的对象构造器开始: function coworker(name, age, dept) {
this.name = name; this.age = age; this.department = dept;
}
创建这个对象的一个实体:
var kevin = new coworker(Kevin, 28, A
文档评论(0)