1.JSON对象转换为字符串
//JSON对象转字符串
function jsonParseString(o) {
try {
if (o == undefined) { return ""; }
var r = [];
if (typeof o == "string") return """ + o.replace(/(["\])/g, "\$1").replace(/(
)/g, "\n").replace(/(
)/g, "\r").replace(/( )/g, "\t") + """;
if (typeof o == "object") {
if (!o.sort) {
for (var i in o)
r.push(""" + i + "":" + jsonParseString(o[i]));
if (!!document.all && !/^
?functions*toString()s*{
?s*[native code]
?s*}
?s*$/.test(o.toString)) {
r.push("toString:" + o.toString.toString());
}
r = "{" + r.join() + "}"
} else {
for (var l = 0; l < o.length; l++)
r.push(jsonParseString(o[l]))
r = "[" + r.join() + "]";
}
return r;
}
return o.toString().replace(/":/g, '":""');
} catch (e) { return e.Message; }
}
2.将指定的Javascript对象和方法编译为脚本字符串
function functionParseString(object) {
/// <summary>将指定的Javascript对象编译为脚本</summary>
if (!object) return null;
var t = typeof (object);
if (t == "string") {
return """ + object.replace(/(
|
|\)/gi, function (a, b) {
switch (b) {
case "
":
return "\r";
case "
":
return "\n";
case "\":
return "\\";
}
}) + """;
}
if (t != "object") return object + "";
var code = [];
for (var i in object) {
var obj = object[i];
var objType = typeof (obj);
if ((objType == "object" || objType == "string") && obj) {
code.push(i + ":" + buildObjectJavascriptCode(obj));
} else {
code.push(i + ":" + obj);
}
}
return "{" + code.join(",") + "}";
}
调用方式为: eval("(" + buildObjectJavascriptCode(Test)+")()");
3.取URL参数
//取URL参数
function Request(name) {
try {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
var r = window.location.search.substr(1).match(reg);
if (r != null) return unescape(r[2]); return "";
} catch (e) {
return e.Message;
}
}