亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? json-debug.js

?? 很棒的在線教學系統(tǒng)
?? JS
字號:
/*Copyright (c) 2008, Yahoo! Inc. All rights reserved.Code licensed under the BSD License:http://developer.yahoo.net/yui/license.txtversion: 2.6.0*//** * Provides methods to parse JSON strings and convert objects to JSON strings. * @module json * @class JSON * @static */YAHOO.lang.JSON = (function () {var l = YAHOO.lang,    /**     * Replace certain Unicode characters that JavaScript may handle incorrectly     * during eval--either by deleting them or treating them as line     * endings--with escape sequences.     * IMPORTANT NOTE: This regex will be used to modify the input if a match is     * found.     * @property _UNICODE_EXCEPTIONS     * @type {RegExp}     * @private     */    _UNICODE_EXCEPTIONS = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,    /**     * First step in the validation.  Regex used to replace all escape     * sequences (i.e. "\\", etc) with '@' characters (a non-JSON character).     * @property _ESCAPES     * @type {RegExp}     * @static     * @private     */    _ESCAPES = /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,    /**     * Second step in the validation.  Regex used to replace all simple     * values with ']' characters.     * @property _VALUES     * @type {RegExp}     * @static     * @private     */    _VALUES  = /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,    /**     * Third step in the validation.  Regex used to remove all open square     * brackets following a colon, comma, or at the beginning of the string.     * @property _BRACKETS     * @type {RegExp}     * @static     * @private     */    _BRACKETS = /(?:^|:|,)(?:\s*\[)+/g,    /**     * Final step in the validation.  Regex used to test the string left after     * all previous replacements for invalid characters.     * @property _INVALID     * @type {RegExp}     * @static     * @private     */    _INVALID  = /^[\],:{}\s]*$/,    /**     * Regex used to replace special characters in strings for JSON     * stringification.     * @property _SPECIAL_CHARS     * @type {RegExp}     * @static     * @private     */    _SPECIAL_CHARS = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,    /**     * Character substitution map for common escapes and special characters.     * @property _CHARS     * @type {Object}     * @static     * @private     */    _CHARS = {        '\b': '\\b',        '\t': '\\t',        '\n': '\\n',        '\f': '\\f',        '\r': '\\r',        '"' : '\\"',        '\\': '\\\\'    };/** * Traverses nested objects, applying a filter or reviver function to * each value.  The value returned from the function will replace the * original value in the key:value pair.  If the value returned is * undefined, the key will be omitted from the returned object. * @method _revive * @param data {MIXED} Any JavaScript data * @param reviver {Function} filter or mutation function * @return {MIXED} The results of the filtered/mutated data structure * @private */function _revive(data, reviver) {    var walk = function (o,key) {        var k,v,value = o[key];        if (value && typeof value === 'object') {            for (k in value) {                if (l.hasOwnProperty(value,k)) {                    v = walk(value, k);                    if (v === undefined) {                        delete value[k];                    } else {                        value[k] = v;                    }                }            }        }        return reviver.call(o,key,value);    };    return typeof reviver === 'function' ? walk({'':data},'') : data;}/** * Escapes a special character to a safe Unicode representation * @method _char * @param c {String} single character to escape * @return {String} safe Unicode escape */function _char(c) {    if (!_CHARS[c]) {        _CHARS[c] =  '\\u'+('0000'+(+(c.charCodeAt(0))).toString(16)).slice(-4);    }    return _CHARS[c];}/** * Replace certain Unicode characters that may be handled incorrectly by * some browser implementations. * @method _prepare * @param s {String} parse input * @return {String} sanitized JSON string ready to be validated/parsed * @private */function _prepare(s) {    return s.replace(_UNICODE_EXCEPTIONS, _char);}/** * Four step determination whether a string is valid JSON.  In three steps, * escape sequences, safe values, and properly placed open square brackets * are replaced with placeholders or removed.  Then in the final step, the * result of all these replacements is checked for invalid characters. * @method _isValid * @param str {String} JSON string to be tested * @return {boolean} is the string safe for eval? * @static */function _isValid(str) {    return l.isString(str) &&            _INVALID.test(str.            replace(_ESCAPES,'@').            replace(_VALUES,']').            replace(_BRACKETS,''));}/** * Enclose escaped strings in quotes * @method _string * @param s {String} string to wrap * @return {String} '"'+s+'"' after s has had special characters escaped * @private */function _string(s) {    return '"' + s.replace(_SPECIAL_CHARS, _char) + '"';}/** * Worker function used by public stringify. * @method _stringify * @param h {Object} object holding the key * @param key {String} String key in object h to serialize * @param depth {Number} depth to serialize * @param w {Array|Function} array of whitelisted keys OR replacer function * @param pstack {Array} used to protect against recursion * @return {String} serialized version of o */function _stringify(h,key,d,w,pstack) {    var o = typeof w === 'function' ? w.call(h,key,h[key]) : h[key],        i,len,j, // array iteration        k,v,     // object iteration        isArray, // forking in typeof 'object'        a;       // composition array for performance over string concat    if (o instanceof Date) {        o = l.JSON.dateToString(o);    } else if (o instanceof String || o instanceof Boolean || o instanceof Number) {        o = o.valueOf();    }    switch (typeof o) {        case 'string' : return _string(o);        case 'number' : return isFinite(o) ? String(o) : 'null';        case 'boolean': return String(o);        case 'object' :            // null            if (o === null) {                return 'null';            }            // Check for cyclical references            for (i = pstack.length - 1; i >= 0; --i) {                if (pstack[i] === o) {                    return 'null';                }            }            // Add the object to the processing stack            pstack[pstack.length] = o;            a = [];            isArray = l.isArray(o);            // Only recurse if we're above depth config            if (d > 0) {                // Array                if (isArray) {                    for (i = o.length - 1; i >= 0; --i) {                        a[i] = _stringify(o,i,d-1,w,pstack) || 'null';                    }                // Object                } else {                    j = 0;                    // Use whitelist keys if provided as an array                    if (l.isArray(w)) {                        for (i = 0, len = w.length; i < len; ++i) {                            k = w[i];                            v = _stringify(o,k,d-1,w,pstack);                            if (v) {                                a[j++] = _string(k) + ':' + v;                            }                        }                    } else {                        for (k in o) {                            if (typeof k === 'string' && l.hasOwnProperty(o,k)) {                                v = _stringify(o,k,d-1,w,pstack);                                if (v) {                                    a[j++] = _string(k) + ':' + v;                                }                            }                        }                    }                    // sort object keys for easier readability                    a.sort();                }            }            // remove the object from the stack            pstack.pop();            return isArray ? '['+a.join(',')+']' : '{'+a.join(',')+'}';    }    return undefined; // invalid input}// Return the public APIreturn {    /**     * Four step determination whether a string is valid JSON.  In three steps,     * escape sequences, safe values, and properly placed open square brackets     * are replaced with placeholders or removed.  Then in the final step, the     * result of all these replacements is checked for invalid characters.     * @method isValid     * @param str {String} JSON string to be tested     * @return {boolean} is the string safe for eval?     * @static     */    isValid : function (s) {        return _isValid(_prepare(s));    },    /**     * Parse a JSON string, returning the native JavaScript representation.     * Only minor modifications from http://www.json.org/json2.js.     * @param s {string} JSON string data     * @param reviver {function} (optional) function(k,v) passed each key:value     *          pair of object literals, allowing pruning or altering values     * @return {MIXED} the native JavaScript representation of the JSON string     * @throws SyntaxError     * @method parse     * @static     */    parse : function (s,reviver) {        // sanitize        s = _prepare(s);        // Ensure valid JSON        if (_isValid(s)) {            // Eval the text into a JavaScript data structure, apply the            // reviver function if provided, and return            return _revive( eval('(' + s + ')'), reviver );        }        // The text is not valid JSON        throw new SyntaxError('parseJSON');    },    /**     * Converts an arbitrary value to a JSON string representation.     * Cyclical object or array references are replaced with null.     * If a whitelist is provided, only matching object keys will be included.     * If a depth limit is provided, objects and arrays at that depth will     * be stringified as empty.     * @method stringify     * @param o {MIXED} any arbitrary object to convert to JSON string     * @param w {Array|Function} (optional) whitelist of acceptable object keys to include OR a function(value,key) to alter values before serialization     * @param d {number} (optional) depth limit to recurse objects/arrays (practical minimum 1)     * @return {string} JSON string representation of the input     * @static     */    stringify : function (o,w,d) {        if (o !== undefined) {            // Ensure whitelist keys are unique (bug 2110391)            if (l.isArray(w)) {                w = (function (a) {                    var uniq=[],map={},v,i,j,len;                    for (i=0,j=0,len=a.length; i<len; ++i) {                        v = a[i];                        if (typeof v === 'string' && map[v] === undefined) {                            uniq[(map[v] = j++)] = v;                        }                    }                    return uniq;                })(w);            }            // Default depth to POSITIVE_INFINITY            d = d >= 0 ? d : 1/0;            // process the input            return _stringify({'':o},'',d,w,[]);        }        return undefined;    },    /**     * Serializes a Date instance as a UTC date string.  Used internally by     * stringify.  Override this method if you need Dates serialized in a     * different format.     * @method dateToString     * @param d {Date} The Date to serialize     * @return {String} stringified Date in UTC format YYYY-MM-DDTHH:mm:SSZ     * @static     */    dateToString : function (d) {        function _zeroPad(v) {            return v < 10 ? '0' + v : v;        }        return d.getUTCFullYear()         + '-' +            _zeroPad(d.getUTCMonth() + 1) + '-' +            _zeroPad(d.getUTCDate())      + 'T' +            _zeroPad(d.getUTCHours())     + ':' +            _zeroPad(d.getUTCMinutes())   + ':' +            _zeroPad(d.getUTCSeconds())   + 'Z';    },    /**     * Reconstitute Date instances from the default JSON UTC serialization.     * Reference this from a reviver function to rebuild Dates during the     * parse operation.     * @method stringToDate     * @param str {String} String serialization of a Date     * @return {Date}     */    stringToDate : function (str) {        if (/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})Z$/.test(str)) {            var d = new Date();            d.setUTCFullYear(RegExp.$1, (RegExp.$2|0)-1, RegExp.$3);            d.setUTCHours(RegExp.$4, RegExp.$5, RegExp.$6);            return d;        }        return str;    }};})();YAHOO.register("json", YAHOO.lang.JSON, {version: "2.6.0", build: "1321"});

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
美国毛片一区二区| 国产亚洲一区二区三区四区| 蜜臀av性久久久久蜜臀aⅴ| 欧美精品日韩精品| 激情小说亚洲一区| 亚洲美女区一区| 7777精品伊人久久久大香线蕉经典版下载 | 国产精品久久夜| 欧美久久久影院| jlzzjlzz亚洲女人18| 久久国产尿小便嘘嘘| 综合久久一区二区三区| 日韩视频一区二区三区| 一本色道久久综合亚洲aⅴ蜜桃| 免费一级片91| 一二三区精品视频| 国产婷婷色一区二区三区| 欧美精品三级在线观看| 一本到不卡免费一区二区| 国产麻豆91精品| 久久99国产精品麻豆| 偷拍日韩校园综合在线| 一区二区三区在线视频播放| 国产视频一区在线播放| 久久久久国色av免费看影院| 精品国产凹凸成av人导航| 欧美一级黄色录像| 日韩三级伦理片妻子的秘密按摩| 欧洲亚洲精品在线| 欧美视频一区二| 91麻豆精品国产91久久久久久| 欧美日韩精品是欧美日韩精品| 色狠狠色狠狠综合| 欧美日韩不卡在线| 26uuu亚洲| ㊣最新国产の精品bt伙计久久| 国产精品久久综合| 亚洲国产美国国产综合一区二区| 亚洲在线观看免费| 奇米777欧美一区二区| 九九九久久久精品| 97se亚洲国产综合在线| 制服丝袜日韩国产| 国产精品乱码一区二区三区软件 | 精品国产乱子伦一区| 久久综合99re88久久爱| 亚洲欧美日韩在线| 美女在线视频一区| 日本久久一区二区三区| 日韩精品中文字幕一区二区三区| 国产精品午夜电影| 麻豆久久久久久久| 欧美日韩中文字幕精品| 国产女人18水真多18精品一级做| 亚洲综合偷拍欧美一区色| 国产精品88888| 日韩午夜激情电影| 亚洲一区二区三区美女| av成人免费在线| 中文字幕高清一区| 国产一区二区看久久| 欧美美女黄视频| 玉足女爽爽91| 在线观看日韩一区| 国产精品精品国产色婷婷| 久久av资源站| 久久精品夜夜夜夜久久| 国产不卡视频在线观看| 国产精品国产a级| av一区二区不卡| 悠悠色在线精品| 91黄色免费看| 一区二区三区四区不卡在线| 在线国产亚洲欧美| 午夜精品爽啪视频| 国产亚洲综合色| 欧美日韩免费观看一区二区三区| 亚洲国产中文字幕在线视频综合| 成人一区二区三区在线观看| 亚洲男人天堂av网| 欧美美女一区二区| 麻豆精品在线观看| 久久久综合视频| 99久久综合狠狠综合久久| 五月天一区二区| 久久精品一区二区三区四区| 欧洲另类一二三四区| 久久99国产精品麻豆| 国产精品成人在线观看| 日韩一区二区三区高清免费看看| 国产麻豆精品在线观看| 亚洲h动漫在线| 日本一区二区三区在线观看| 在线欧美小视频| 国产高清久久久| 麻豆成人综合网| 亚洲日本中文字幕区| 精品国产亚洲在线| 色狠狠一区二区| 99视频超级精品| 成熟亚洲日本毛茸茸凸凹| 国产精品久久久久永久免费观看| 麻豆一区二区三区| 一区二区高清免费观看影视大全| 日韩视频免费观看高清完整版在线观看| 石原莉奈一区二区三区在线观看| 亚洲精品在线电影| 欧美日韩一级二级三级| 菠萝蜜视频在线观看一区| 久久电影网站中文字幕| 亚洲福利视频一区| 中文字幕在线一区二区三区| 精品国产免费一区二区三区四区 | 欧美成人激情免费网| 日韩视频在线观看一区二区| 欧美伊人久久大香线蕉综合69| 国产精品主播直播| 天堂久久久久va久久久久| 亚洲精品成人悠悠色影视| 中文欧美字幕免费| 久久综合一区二区| 日韩视频中午一区| 欧美成人伊人久久综合网| 91在线国内视频| 在线亚洲一区二区| 在线免费亚洲电影| 欧美精品日韩一区| 久久九九99视频| 中文字幕在线一区二区三区| 亚洲主播在线播放| 日本不卡的三区四区五区| 久久精品国产77777蜜臀| 国产乱理伦片在线观看夜一区| 久久精品国产一区二区三| 午夜精品久久一牛影视| 麻豆成人91精品二区三区| 国产一区二区三区蝌蚪| 日本精品视频一区二区三区| 欧美日韩小视频| 久久久久久久综合色一本| 亚洲美女偷拍久久| 久色婷婷小香蕉久久| 国模娜娜一区二区三区| 久久综合色婷婷| www国产精品av| 亚洲在线免费播放| 国内精品不卡在线| 欧美日韩二区三区| 亚洲欧美电影院| 成人少妇影院yyyy| 色网综合在线观看| 自拍偷拍国产精品| 国产91在线观看丝袜| 欧美一区二区视频网站| 亚洲欧美在线视频观看| 粉嫩aⅴ一区二区三区四区| 日韩视频在线一区二区| 天堂在线一区二区| 777午夜精品视频在线播放| 亚洲综合丝袜美腿| 91豆麻精品91久久久久久| 国产精品理伦片| 99久久夜色精品国产网站| 亚洲乱码国产乱码精品精98午夜 | 99在线精品观看| 久久精品夜色噜噜亚洲aⅴ| 国精产品一区一区三区mba桃花| 在线播放一区二区三区| 亚洲午夜私人影院| 欧美精品aⅴ在线视频| 日本三级亚洲精品| 91精品国产欧美日韩| 久久国内精品自在自线400部| 8v天堂国产在线一区二区| 蜜桃av一区二区| 国产欧美日韩另类一区| 成人av在线电影| 亚洲一区免费视频| 日韩一区二区三区在线| 免费精品99久久国产综合精品| 日韩精品中文字幕一区| 成人av免费在线| 亚洲欧美日韩电影| 久久久久99精品国产片| 在线精品观看国产| 高清shemale亚洲人妖| 偷窥少妇高潮呻吟av久久免费| 91精品国产入口在线| 粉嫩高潮美女一区二区三区 | 91丨九色porny丨蝌蚪| 毛片基地黄久久久久久天堂| 亚洲图片另类小说| 国产亚洲成aⅴ人片在线观看| 色999日韩国产欧美一区二区| 欧美午夜在线一二页| 久久久久久**毛片大全| 成人免费看的视频| 欧美日韩电影一区| 久久一区二区视频| 亚洲色图在线播放|