在开发小程序或者一些框架时会遇到很多的请求回调都是string,是不是因为string要比object,json他们的性能要优
因为。。无论怎么样,后台响应的都是字符串。所以 js 在收到 object 的时候,也是一串 json 的字符串。然后,js 需要解析这个字符串成对象。性能肯定是一个普通的字符串好的,但是这种性能的优势几乎可以忽略不计了吧。毕竟有复杂数据结构的话普通字符串是无法解决需求的。
js
object
json
后台是不能不行不可以直接传 Object 的。
直接
Object
原因很简单:后台语言五花八门,发过来的五花八门的 Object 可能前端的 JS 无法直接当成JS对象对待。
因此要借助某种对象表示的 标准范式 来把不同种类的对象转化成JS能理解的对象。
标准范式
或许你已经猜到了这种范式就是 JSON ———— 一种对象表示法(以字符串形式)
JSON
这样,任何的后台语言,都可以把它的对象转成 JSON (借助库或者自己写)然后发给前端,这样前端可以很方便的把 JSON 转化成 JS对象。
于是你可以看到:
多语言不同的 Obejct 实现 => Obejct 实现 => JSON => JavaScript => JavaScript 对象
Obejct
JavaScript
反过来也一样。
当然 不仅仅只有 JSON 这一种标准范式,还有许多(xml等等)
或者你可以换一种思维:
后台的 Object 调制成 JSON字符串 然后发往前端。 前端收到后 解调成 JS Object
JSON字符串
JS Object
至于你说的性能,一般字符串的操作比对象的某些操作快得多。
不过 对象有层次包含关系还还有多种数据类型,这是字符串参数所没有的。
因为。。无论怎么样,后台响应的都是字符串。所以
js
在收到object
的时候,也是一串json
的字符串。然后,js
需要解析这个字符串成对象。性能肯定是一个普通的字符串好的,但是这种性能的优势几乎可以忽略不计了吧。毕竟有复杂数据结构的话普通字符串是无法解决需求的。后台是不能不行不可以
直接
传Object
的。原因很简单:后台语言五花八门,发过来的五花八门的 Object 可能前端的 JS 无法直接当成JS对象对待。
因此要借助某种对象表示的
标准范式
来把不同种类的对象转化成JS能理解的对象。或许你已经猜到了这种范式就是
JSON
———— 一种对象表示法(以字符串形式)这样,任何的后台语言,都可以把它的对象转成
JSON
(借助库或者自己写)然后发给前端,这样前端可以很方便的把 JSON 转化成 JS对象。于是你可以看到:
多语言不同的
Obejct
实现 =>Obejct
实现 =>JSON
=>JavaScript
=>JavaScript
对象反过来也一样。
当然 不仅仅只有 JSON 这一种标准范式,还有许多(xml等等)
或者你可以换一种思维:
后台的
Object
调制成JSON字符串
然后发往前端。前端收到后 解调成
JS Object
至于你说的性能,一般字符串的操作比对象的某些操作快得多。
不过 对象有层次包含关系还还有多种数据类型,这是字符串参数所没有的。