JS中的eval 為什麼加括弧,jseval加括弧

來源:互聯網
上載者:User

JS中的eval 為什麼加括弧,jseval加括弧

eval簡介

---eval在ECMA定義中是全域對象原型的方法;

---eval接受的參數是字串格式的js代碼, 將由執行引擎(記得'進階程式設計'還是哪說過, 此時建立一個執行引擎)執行這段字串, 然後返回結果到eval調用的位置.

<!DOCTYPE html><html><head><title>eval學習</title><script type="text/javascript">/*eval("運算式");執行運算式語句eval("("+javascript類型+")");轉為javascript對象*/var jsonObj={"name":"ljl","data":123};//json,是javascript的對象var jsonString='{"name":"ljl","data":123}';//javascript的string類型,字串內容符合json格式的樣式var objType=eval("("+jsonString+")");//通過eval函數將json字元轉為javascript對象alert( typeof jsonString);//stringalert( typeof objType);//objalert(eval(123));//123alert(typeof eval("("+123+")"));//numbervar x=2;var y=eval('x+1');//執行 2+1 運算式alert('y= '+y);//3</script></head> <body></body></html>

補充:總結

eval是js動態特性之一, 通過它直接執行js程式並返回結果, 常見的使用就是還原json資料為js對象;

但是由於其能在運行時動態改變內容物件, 因此帶來了注入攻擊的風險;

使用時, 注意eval對字串的文法認識是如何的, 常見的就是'大括弧'問題

您可能感興趣的文章:
  • JS 有趣的eval最佳化輸入驗證執行個體代碼
  • js使用eval解析json(js中使用json)
  • js使用eval解析json執行個體與注意事項分享
  • JavaScript eval() 函數介紹及應用樣本
  • JavaScript中的eval()函數使用介紹
  • 為什麼JS中eval處理JSON資料要加括弧

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.