作用?
如何用?

解决方案 »

  1.   

    callback是一个回调函数,实现赋值功能!
    json,意思就是javascript object notation,也就是用javascript平常表示object的方式来描述对象。
    服务器端语言中,一般都有专门的parser来读取数据,以及作类型转换。
    简单的json数据可以直接eval,当数据中含有特殊字符的时候就需要用string.parseJSON()解析了
    json已经提供了json.js供你使用json.js
    /*
    json.js
    2006-04-28This file adds these methods to JavaScript:object.toJSONString()This method produces a JSON text from an object. The
    object must not contain any cyclical references.array.toJSONString()This method produces a JSON text from an array. The
    array must not contain any cyclical references.string.parseJSON()This method parses a JSON text to produce an object or
    array. It will return false if there is an error.
    */
    (function () {
    var m = {
    '\b': '\\b',
    '\t': '\\t',
    '\n': '\\n',
    '\f': '\\f',
    '\r': '\\r',
    '"' : '\\"',
    '\\': '\\\\'
    },
    s = {
    array: function (x) {
    var a = ['['], b, f, i, l = x.length, v;
    for (i = 0; i < l; i = 1) {
    v = x[i];
    f = s[typeof v];
    if (f) {
    v = f(v);
    if (typeof v == 'string') {
    if (b) {
    a[a.length] = ',';
    }
    a[a.length] = v;
    b = true;
    }
    }
    }
    a[a.length] = ']';
    return a.join('');
    },
    'boolean': function (x) {
    return String(x);
    },
    'null': function (x) {
    return "null";
    },
    number: function (x) {
    return isFinite(x) ? String(x) : 'null';
    },
    object: function (x) {
    if (x) {
    if (x instanceof Array) {
    return s.array(x);
    }
    var a = ['{'], b, f, i, v;
    for (i in x) {
    v = x[i];
    f = s[typeof v];
    if (f) {
    v = f(v);
    if (typeof v == 'string') {
    if (b) {
    a[a.length] = ',';
    }
    a.push(s.string(i), ':', v);
    b = true;
    }
    }
    }
    a[a.length] = '}';
    return a.join('');
    }
    return 'null';
    },
    string: function (x) {
    if (/["\\\x00-\x1f]/.test(x)) {
    x = x.replace(/([\x00-\x1f\\"])/g, function(a, b) {
    var c = m[b];
    if (c) {
    return c;
    }
    c = b.charCodeAt();
    return '\\u00' 
    Math.floor(c / 16).toString(16) 
    (c % 16).toString(16);
    });
    }
    return '"' x '"';
    }
    };Object.prototype.toJSONString = function () {
    return s.object(this);
    };Array.prototype.toJSONString = function () {
    return s.array(this);
    };
    })();