| 導購 | 订阅 | 在线投稿
分享
 
 
 

javascript之eval函數

來源:互聯網  2008-08-08 06:10:21  評論

Eval()函數 這是我在學習找到的一篇簡述Eval的文章,我在此轉貼並加入一點自己的心得!在此謝謝原創者 該函數可以把一個字符串當作一個JavaScript表達式一樣去執行它,具體來說,就是eval接受一個字符串類型的參數,將這個字符串作爲代碼在上下文環境中執行,並返回執行的結果。舉個小例子:

var the_unevaled_answer = "2 + 3";

var the_evaled_answer = eval("2 + 3");

alert("the un-evaled answer is " + the_unevaled_answer + " and the evaled answer is " + the_evaled_answer);

如果你運行這段eval程序, 你將會看到在JavaScript裏字符串"2 + 3"實際上被執行了。所以當你把 the_evaled_answer的值設成 eval("2 + 3")時, JavaScript將會明白並把2和3的和返回給the_evaled_answer。這個看起來似乎有點傻,其實可以做出很有趣的事。比如使用eval你可以根據用戶的輸入直接創建函數。這可以使程序根據時間或用戶輸入的不同而使程序本身發生變化,通過舉一反三,你可以獲得驚人的效果。

但是在使用eval函數是需要注意兩點:

1)它是有返回值的,如果參數字符串是一個表達式,就會返回表達式的值。如果參數字符串不是表達式,沒有值,那麽返回「undefined」。

2)參數字符串作爲代碼執行時,是和調用eval函數的上下文相關的,即其中出現的變量或函數調用必須在調用eval的上下文環境中可用。

Eval()函數 這是我在學習找到的一篇簡述Eval的文章,我在此轉貼並加入一點自己的心得!在此謝謝原創者 該函數可以把一個字符串當作一個JavaScript表達式一樣去執行它,具體來說,就是eval接受一個字符串類型的參數,將這個字符串作爲代碼在上下文環境中執行,並返回執行的結果。舉個小例子: var the_unevaled_answer = "2 + 3"; var the_evaled_answer = eval("2 + 3"); alert("the un-evaled answer is " + the_unevaled_answer + " and the evaled answer is " + the_evaled_answer); 如果你運行這段eval程序, 你將會看到在JavaScript裏字符串"2 + 3"實際上被執行了。所以當你把 the_evaled_answer的值設成 eval("2 + 3")時, JavaScript將會明白並把2和3的和返回給the_evaled_answer。這個看起來似乎有點傻,其實可以做出很有趣的事。比如使用eval你可以根據用戶的輸入直接創建函數。這可以使程序根據時間或用戶輸入的不同而使程序本身發生變化,通過舉一反三,你可以獲得驚人的效果。 但是在使用eval函數是需要注意兩點: 1)它是有返回值的,如果參數字符串是一個表達式,就會返回表達式的值。如果參數字符串不是表達式,沒有值,那麽返回「undefined」。 2)參數字符串作爲代碼執行時,是和調用eval函數的上下文相關的,即其中出現的變量或函數調用必須在調用eval的上下文環境中可用。
󰈣󰈤
 
 
 
>>返回首頁<<
 
 
 
 
 熱帖排行
 
王朝網路微信公眾號
微信掃碼關註本站公眾號 wangchaonetcn
 
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有