js的一些高级用法也不要使用,尽量换成常见的
比如字符串拼接:
var name = "道无涯i"
var b = `我是${name}`//这样会报错
var b = "我是"+name //这样就不会报错
javascript示例代码
if (typeof JSON !== "object") {
JSON = {};
}
(function () {
"use strict";
var rx_one = /^[\],:{}\s]*$/;
var rx_two = /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g;
var rx_three = /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g;
var rx_four = /(?:^|:|,)(?:\s*\[)+/g;
var rx_escapable = /[\\"\u0000-\u001f\u007f-\u009f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g;
var rx_dangerous = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g;
function f(n) {
    return (n < 10)
        ? "0" + n
        : n;
}
function this_value() {
    return this.valueOf();
}
if (typeof Date.prototype.toJSON !== "function") {
    Date.prototype.toJSON = function () {
        return isFinite(this.valueOf())
            ? (
                this.getUTCFullYear()
                + "-"
                + f(this.getUTCMonth() + 1)
                + "-"
                + f(this.getUTCDate())
                + "T"
                + f(this.getUTCHours())
                + ":"
                + f(this.getUTCMinutes())
                + ":"
                + f(this.getUTCSeconds())
                + "Z"
            )
            : null;
    };
    Boolean.prototype.toJSON = this_value;
    Number.prototype.toJSON = this_value;
    String.prototype.toJSON = this_value;
}
var gap;
var indent;
var meta;
var rep;
function quote(string) {
    rx_escapable.lastIndex = 0;
    return rx_escapable.test(string)
        ? "\"" + string.replace(rx_escapable, function (a) {
            var c = meta[a];
            return typeof c === "string"
                ? c
                : "\\u" + ("0000" + a.charCodeAt(0).toString(16)).slice(-4);
        }) + "\""
        : "\"" + string + "\"";
}
function str(key, holder) {
    var i;
    var k;
    var v;
    var length;
    var mind = gap;
    var partial;
    var value = holder[key];
    if (
        value
        && typeof value === "object"
        && typeof value.toJSON === "function"
    ) {
        value = value.toJSON(key);
    }
    if (typeof rep === "function") {
        value = rep.call(holder, key, value);
    }
    switch (typeof value) {
        case "string":
            return quote(value);
        case "number":
            return (isFinite(value))
                ? String(value)
                : "null";
        case "boolean":
        case "null":
            return String(value);
        case "object":
            if (!value) {
                return "null";
            }
            gap += indent;
            partial = [];
            if (Object.prototype.toString.apply(value) === "[object Array]") {
                length = value.length;
                for (i = 0; i < length; i += 1) {
                    partial[i] = str(i, value) || "null";
                }
                v = partial.length === 0
                    ? "[]"
                    : gap
                        ? (
                            "[\n"
                            + gap
                            + partial.join(",\n" + gap)
                            + "\n"
                            + mind
                            + "]"
                        )
                        : "[" + partial.join(",") + "]";
                gap = mind;
                return v;
            }
            if (rep && typeof rep === "object") {
                length = rep.length;
                for (i = 0; i < length; i += 1) {
                    if (typeof rep[i] === "string") {
                        k = rep[i];
                        v = str(k, value);
                        if (v) {
                            partial.push(quote(k) + (
                                (gap)
                                    ? ": "
                                    : ":"
                            ) + v);
                        }
                    }
                }
            } else {
                for (k in value) {
                    if (Object.prototype.hasOwnProperty.call(value, k)) {
                        v = str(k, value);
                        if (v) {
                            partial.push(quote(k) + (
                                (gap)
                                    ? ": "
                                    : ":"
                            ) + v);
                        }
                    }
                }
            }
            v = partial.length === 0
                ? "{}"
                : gap
                    ? "{\n" + gap + partial.join(",\n" + gap) + "\n" + mind + "}"
                    : "{" + partial.join(",") + "}";
            gap = mind;
            return v;
    }
}
if (typeof JSON.stringify !== "function") {
    meta = {
        "\b": "\\b",
        "\t": "\\t",
        "\n": "\\n",
        "\f": "\\f",
        "\r": "\\r",
        "\"": "\\\"",
        "\\": "\\\\"
    };
    JSON.stringify = function (value, replacer, space) {
        var i;
        gap = "";
        indent = "";
        if (typeof space === "number") {
            for (i = 0; i < space; i += 1) {
                indent += " ";
            }
        } else if (typeof space === "string") {
            indent = space;
        }
        rep = replacer;
        if (replacer && typeof replacer !== "function" && (
            typeof replacer !== "object"
            || typeof replacer.length !== "number"
        )) {
            throw new Error("JSON.stringify");
        }
        return str("", { "": value });
    };
}
if (typeof JSON.parse !== "function") {
    JSON.parse = function (text, reviver) {
        var j;
        function walk(holder, key) {
            var k;
            var v;
            var value = holder[key];
            if (value && typeof value === "object") {
                for (k in value) {
                    if (Object.prototype.hasOwnProperty.call(value, k)) {
                        v = walk(value, k);
                        if (v !== undefined) {
                            value[k] = v;
                        } else {
                            delete value[k];
                        }
                    }
                }
            }
            return reviver.call(holder, key, value);
        }
        text = String(text);
        rx_dangerous.lastIndex = 0;
        if (rx_dangerous.test(text)) {
            text = text.replace(rx_dangerous, function (a) {
                return (
                    "\\u"
                    + ("0000" + a.charCodeAt(0).toString(16)).slice(-4)
                );
            });
        }
        if (
            rx_one.test(
                text
                    .replace(rx_two, "@")
                    .replace(rx_three, "]")
                    .replace(rx_four, "")
            )
        ) {
            j = eval("(" + text + ")");
            return (typeof reviver === "function")
                ? walk({ "": j }, "")
                : j;
        }
        throw new SyntaxError("JSON.parse");
    };
}
}());
// 上面的代码就是json解析库,不要去动,修改下面的调用函数就行
function json(obj) {
//假设obj是{"博主":"道无涯","博客地址":"www.daowuya.love","微信公众号":"无涯科技"}
var data = JSON.parse(obj);
var 博主=data.博主;
var 博客地址=data.博客地址;
var 微信公众号=data.微信公众号;
return 博主+"----"+博客地址+"----"+微信公众号;
}
易语言示例代码
.版本 2
.支持库 spec
.局部变量 json待解析, 文本型
.局部变量 运行js, 类_脚本组件
.局部变量 js运行结果, 文本型
.局部变量 分割结果数组, 文本型, , "0"
json待解析 = “{” + #引号 + “博主” + #引号 + “:” + #引号 + “道无涯” + #引号 + “,” + #引号 + “博客地址” + #引号 + “:” + #引号 + “www.daowuya.love” + #引号 + “,” + #引号 + “微信公众号” + #引号 + “:” + #引号 + “无涯科技” + #引号 + “}”
运行js.执行 (#js代码)
js运行结果 = 运行js.运行 (“json”, json待解析)
文本_分割文本 (js运行结果, “----”, , 分割结果数组)
.如果 (取数组成员数 (分割结果数组) > 1)
调试输出 (分割结果数组 [1] + #换行符 + 分割结果数组 [2] + #换行符 + 分割结果数组 [3])
.否则
调试输出 (“json解析失败”)
.如果结束