小規模なプログラムや一部のフレームワークを開発する場合、多くのリクエスト コールバックは文字列ですが、文字列の方がオブジェクトや json よりもパフォーマンスが優れているためですか?
曾经蜡笔没有小新2017-05-24 11:34:23
だから。 。何があっても、バックグラウンド応答は文字列です。したがって、 js
在收到 object
的时候,也是一串 json
的字符串。然后,js
はこの文字列をオブジェクトに解析する必要があります。パフォーマンスは通常の弦よりも明らかに優れていますが、パフォーマンス上の利点はほとんど無視できます。結局のところ、複雑なデータ構造がある場合、通常の文字列ではニーズを解決できません。
给我你的怀抱2017-05-24 11:34:23
バックエンドは実行できません直接
传 Object
。
理由は非常に簡単です。さまざまなバックエンド言語があり、送信されたさまざまなオブジェクトがフロントエンド JS によって直接 JS オブジェクトとして扱われない可能性があります。
そのため、さまざまなタイプのオブジェクトを JS が理解できるオブジェクトに変換するには、ある種のオブジェクト表現 标准范式
を使用する必要があります。
おそらくあなたは、このパラダイムが JSON
———— オブジェクト表現 (文字列形式) であることを推測しているでしょう
このようにして、どのバックエンド言語もそのオブジェクトを JSON
に変換し (ライブラリの助けを借りて、または自分で作成して)、それをフロントエンドに送信できるため、フロントエンドは JSON を JS オブジェクトに簡単に変換できます。
これでわかります:
複数の言語での Object
のさまざまな実装 Obejct
实现 => JSON
=> JavaScript
=>JavaScript オブジェクト
逆も同様です。
もちろん、標準パラダイムである JSON だけでなく、多くのパラダイム (xml など) もあります
または、別の考え方もできます:
バックステージObject
调制成 JSON字符串
然后发往前端。
前端收到后 解调成 JS Object
あなたが言及したパフォーマンスに関しては、一般に文字列操作はオブジェクトに対する一部の操作よりもはるかに高速です。
ただし、オブジェクトには階層的な包含関係と複数のデータ型がありますが、文字列パラメーターにはありません。