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

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

阅读 1.8k
2 个回答

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

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

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

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

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

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

于是你可以看到:

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

反过来也一样。

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


或者你可以换一种思维:

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


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

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题