从破坏代码的函数返回逗号分隔的字符串

时间:2011-12-01 13:51:55

标签: javascript jquery internet-explorer

我正在调用此函数:

VAL(阵列[I] [指数])

当我尝试传递时间戳 123,213,121,212

其中:

   function val(m) {

        try {
            if (m == null) return '';
            if (typeof m == 'number') return num(m);
            if (typeof m == 'string') return str(m);
            if (typeof m == 'boolean') return m ? 'true' : 'false';
            return m.length ? arr(m) : obj(m);

        }
        catch (err) {

            return "";

        }


    }
    function num(m) { return m; }
    function str(m) {

        return m.substr(0, 6) == '/Date(' ? dfmt(date(m)) : m;
    }
    function date(s) { return new Date(parseFloat(/Date\(([^)]+)\)/.exec(s)[1])); }
    function pad(d) { return d < 10 ? '0' + d : d; }
    function dfmt(d) { return d.getFullYear() + '/' + pad(d.getMonth() + 1) + '/' + pad(d.getDate()); }

功能失败。

可能是因为逗号。

我该如何解决这个问题。

感谢任何帮助

问题已解决:

实际上,值“123.135.414.414”属于对象类型

所以我需要写一些类似的东西:

  function val(m) {

        try {
            if (m == null) return '';
            if (typeof m == 'object') return m;
            if (typeof m == 'number') return num(m);
            if (typeof m == 'string') return str(m);
            if (typeof m == 'boolean') return m ? 'true' : 'false';
            return m.length ? arr(m) : obj(m);

        }
        catch (err) {

            return "Time Stamp";

        }


    }

这次解决了我的问题。

欢迎任何进一步的建议

1 个答案:

答案 0 :(得分:1)

问题已解决:

实际上,值“123.135.414.414”属于对象类型

所以我需要写一些类似的东西:

function val(m){

    try {
        if (m == null) return '';
        if (typeof m == 'object') return m;
        if (typeof m == 'number') return num(m);
        if (typeof m == 'string') return str(m);
        if (typeof m == 'boolean') return m ? 'true' : 'false';
        return m.length ? arr(m) : obj(m);

    }
    catch (err) {

        return "Time Stamp";

    }


}