⑴ javascript中eval的用法
1、和其他解釋性語言一樣, 同樣可以解釋運行由javascript源代碼組成的字元串,javascript 通過eval()來完成。
2、 eval() 其實是一個函數,是javascript很早版本中就已經存在,但是javascript設計者和解釋器對其進行了許多的限制,看起來eval更像一個運算符。
但是作為用於動態執行代碼,eval存在這樣的問題,解釋器無法對動態代碼做進一步的優化。如果將它看做一個函數,那它是可以被賦予其他名字的:
var A = eval;
var B = A;
如果是這樣的話,那麼解釋器就無法優化調用B()的函數了。因此設計者賦予eval一些運算符的特性(作為保留字)之後這些問題得到解決。當然它還有更多的限制,留待讀者慢慢體會。
(1)js創建eval擴展閱讀
javascript中eval的用法代碼:
1、varglobalEval=eval;//定義全局eval函數別名
2、vara='global',b='global';//全局變數
3、functionc(){vara='local';//局部變數
4、eval('a+="changed"');//直接更改局部變數的值
5、returna;//返回更改後的局部變數
6、functiond(){varb='local';
7、globalEval("b+='changed'");
8、returnb;}
9、console.log(c(),a);//localchanged
10、globalconsole.log(d(),b)//local
11、globalchanged