javascript – Ob ein String für ein Datenelement vorhanden ist, ist leistungsfähiger als ein Objekt
滿天的星座2017-05-24 11:32:23
0
2
918
Bei der Entwicklung kleiner Programme oder einiger Frameworks werden Sie auf viele Anforderungsrückrufe stoßen, bei denen es sich um Zeichenfolgen handelt. Liegt das daran, dass Zeichenfolgen eine bessere Leistung haben als Objekte und JSON?
因为。。无论怎么样,后台响应的都是字符串。所以
js
在收到object
的时候,也是一串json
的字符串。然后,js
需要解析这个字符串成对象。性能肯定是一个普通的字符串好的,但是这种性能的优势几乎可以忽略不计了吧。毕竟有复杂数据结构的话普通字符串是无法解决需求的。后台是不能不行不可以
直接
传Object
的。原因很简单:后台语言五花八门,发过来的五花八门的 Object 可能前端的 JS 无法直接当成JS对象对待。
因此要借助某种对象表示的
标准范式
来把不同种类的对象转化成JS能理解的对象。或许你已经猜到了这种范式就是
JSON
———— 一种对象表示法(以字符串形式)这样,任何的后台语言,都可以把它的对象转成
JSON
(借助库或者自己写)然后发给前端,这样前端可以很方便的把 JSON 转化成 JS对象。于是你可以看到:
多语言不同的
Obejct
实现 =>JSON
=>JavaScript
对象反过来也一样。
当然 不仅仅只有 JSON 这一种标准范式,还有许多(xml等等)
或者你可以换一种思维:
后台的
Object
调制成JSON字符串
然后发往前端。前端收到后 解调成
JS Object
至于你说的性能,一般字符串的操作比对象的某些操作快得多。
不过 对象有层次包含关系还还有多种数据类型,这是字符串参数所没有的。