亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請問javascript JSON.parse和eval的區別是什么

請問javascript JSON.parse和eval的區別是什么

牛魔王的故事 2019-08-03 10:03:47
請問javascript JSON.parse和eval的區別是什么
查看完整描述

4 回答

?
慕田峪7331174

TA貢獻1828條經驗 獲得超13個贊

在代碼中使用eval是很危險的,特別是用它執行第三方的JSON數據(其中可能包含惡意代碼)時,盡可能使用JSON.parse()方法解析字符串本身。該方法可以捕捉JSON中的語法錯誤,并允許你傳入一個函數,用來過濾或轉換解析結果。如果此方法以備Firfox 3.5 、IE8 及 Safari 4 原生支持。大多數javascript類庫包含的JSON解析代碼會直接調用原生版本,如果沒有原生支持的話,會調用一個略微不那么強大的非原生版本來處理。

查看完整回答
反對 回復 2019-08-05
?
慕姐4208626

TA貢獻1852條經驗 獲得超7個贊

JSON.parse()用來將標準json字符串轉換成js對象;
eval()除了可以將json字符串(非標準的也可以,沒有JSON.parse()要求嚴格)轉換成js對象外還能用來動態執行js代碼。
例如:JSON.parse('{"name":"張三"}')能被成功轉換,但是JSON.parse('{name:"張三"}')、JSON.parse('{\'name\':"張三"}')和JSON.parse('{"name":\'張三\'}')都是不能轉換的;然而后面那三個可用用eval()來轉換;另外eval()還能執行js代碼,如:eval('alert("你好!")');

查看完整回答
反對 回復 2019-08-05
  • 4 回答
  • 0 關注
  • 314 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號