在開發小程式或一些框架時會遇到很多的請求回呼都是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
至於你說的效能,一般字串的操作比物件的某些操作快得多。
不過 物件有層次包含關係還還有多種資料型別,這是字串參數所沒有的。