ホームページ  >  記事  >  ウェブフロントエンド  >  JS の eval で JSON data_javascript スキルを処理するときに括弧を追加する必要があるのはなぜですか

JS の eval で JSON data_javascript スキルを処理するときに括弧を追加する必要があるのはなぜですか

WBOY
WBOYオリジナル
2016-05-16 16:04:291090ブラウズ

Ajax の台頭により、クライアントとサーバー間の送信形式として軽量のデータ形式である JSON が徐々に普及してきました。問題は、サーバー側で構築された JSON データを使用可能な形式に変換する方法です。 .JavaScript オブジェクト。 eval 関数の使用は間違いなく簡単で直接的な方法です。変換するときは、JSON 文字列をかっこのレイヤーでラップする必要があります:

コードをコピーします コードは次のとおりです:

var jsonObject = eval("(" jsonFormat ")");

括弧を追加する理由

かっこを追加する目的は、JavaScript コードの処理時に、かっこ内の式をステートメントとして実行するのではなく、eval 関数で強制的にオブジェクトに変換することです。たとえば、オブジェクト リテラル {} を考えます。外側の大括弧が追加されていない場合、eval はその中括弧を JavaScript コード ブロックの開始マークと終了マークとして認識し、{} は空のステートメントを実行するとみなします。したがって、次の 2 つの実行結果は異なります:

コードをコピーします コードは次のとおりです:

alert(eval("{}"); // 未定義を返します
alert(eval("({})");// return object[Object]

以上がこの記事の全内容です。皆さんに気に入っていただければ幸いです。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。