JS实用代码收集

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;
    }
}
原文地址:https://www.cnblogs.com/kinger906/p/3464673.html