javascript中的eval(code)

1、eval(code)方法就像是一個完整的ECMAScript解析器,它只接受一個參數code,code可以是javascript表達式或待執行的ECMAScript(或javascript)字符串。(表達式就是一個沒有分號的語句,字符串就是帶有引號的語句)
2、eval("alert("ddd")");以及eval( alert("aaa"));都是有效的。
3、如果code包含一個表達式,則eval(code)對該表達式求值並返回這個值。
4、一些表達式(如看起來像語句的對象函數直接量)在傳入eval(code)是必須包含在圓括號中以消除多以性。比如eval('('+code+')');
5、如果eval中傳入的參數不是字符串原始值,比如“ddd”,它會直接返回這個值,比如
alert(eval(prompt("aaaaaaaaaaaa","")));由於eval()得到的是prompt("aaaaaaaaaaaa","")這個函數,它所做的動作,而不會返回動作後得到的字串,因此這個語句會產生錯誤。
但是,如果alert(eval(prompt("aaaaaaaaaaaa","")));就不會產生錯誤了
6、JSON經常會傳入JSON字符串,如‘{”name1“:value1,”name2“,value2}’,然後被eval解析爲javascript對象,此時,應該這樣寫eval(‘(' +‘{”name1“:value1,”name2“,value2}’+')');

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章