搜索

首页  >  问答  >  正文

javascript - 对于一个数据是否存在string比object的性能要好

在开发小程序或者一些框架时会遇到很多的请求回调都是string,是不是因为string要比object,json他们的性能要优

滿天的星座滿天的星座2790 天前938

全部回复(2)我来回复

  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-24 11:34:23

    因为。。无论怎么样,后台响应的都是字符串。所以 js 在收到 object 的时候,也是一串 json 的字符串。然后,js 需要解析这个字符串成对象。性能肯定是一个普通的字符串好的,但是这种性能的优势几乎可以忽略不计了吧。毕竟有复杂数据结构的话普通字符串是无法解决需求的。

    回复
    0
  • 给我你的怀抱

    给我你的怀抱2017-05-24 11:34:23

    后台是不能不行不可以直接Object 的。

    原因很简单:后台语言五花八门,发过来的五花八门的 Object 可能前端的 JS 无法直接当成JS对象对待。

    因此要借助某种对象表示的 标准范式 来把不同种类的对象转化成JS能理解的对象。

    或许你已经猜到了这种范式就是 JSON ———— 一种对象表示法(以字符串形式)

    这样,任何的后台语言,都可以把它的对象转成 JSON (借助库或者自己写)然后发给前端,这样前端可以很方便的把 JSON 转化成 JS对象。

    于是你可以看到:

    多语言不同的 Obejct 实现 => Obejct 实现 => JSON => JavaScript => JavaScript 对象

    反过来也一样。

    当然 不仅仅只有 JSON 这一种标准范式,还有许多(xml等等)


    或者你可以换一种思维:

    后台的 Object 调制成 JSON字符串 然后发往前端。
    前端收到后 解调成 JS Object


    至于你说的性能,一般字符串的操作比对象的某些操作快得多。

    不过 对象有层次包含关系还还有多种数据类型,这是字符串参数所没有的。

    回复
    0
  • 取消回复