javascript之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的上下文環境中可用。

對JavaScript的eval()中使用函數的進一步討論
《JavaScript語言精髓與編程實踐》的讀者I22141提出了一問題:爲什麽下面這段代碼在JScript和SpiderMonkey中表現不一樣:--------var func = eval("(function(){})");alert(typeof func);--------更...查看完整版>>對JavaScript的eval()中使用函數的進一步討論
 
javascript eval()
eval()是Javascript中最容易被濫用的函數。避免使用eval()避免使用Function 的構造函數: new Function()避免傳遞字符串給setTimeout 或 setInterval...查看完整版>>javascript eval()
 
給出一個表達式以及表達式裏面所有變量的值。求出這個表達式的值。類似javascript中的Eval().
給出一個表達式以及表達式裏面所有變量的值。求出這個表達式的值。類似javascript中的Eval().作者:timmy3310Runtime C# Expression Evaluator http://www.codeproject.com/csharp/runtime_eval.asp -----------...查看完整版>>給出一個表達式以及表達式裏面所有變量的值。求出這個表達式的值。類似javascript中的Eval().
 
ASP.NET2.0數據綁定函數Eval()的機制
     本文假設你已經了解ASP.NET 1.1的數據綁定(特別是Container這個局部變量)的機制,這裏主要分析ASP 2.0數據綁定做了那些改進。  ASP.NET 2.0 的數據綁定函數Eval()簡化掉了ASP 1.1神秘的Container.DataIte...查看完整版>>ASP.NET2.0數據綁定函數Eval()的機制
 
javascript混合的構造函數/原型方式
即用構造函數定義對象的所有飛函數屬性,用原型方式定義對象的函數屬性(方法)。Code<script type="text/javascript"> debugger; function Car(sColor, iDoors, iMpg) { this.color = sColor, ...查看完整版>>javascript混合的構造函數/原型方式
 
JavaScript驗證函數集合
*****************************************************功 能:驗證函數集合說 明:版 本:1.0作 者:創建時間:2007-8-31****************************************************/ <!--//禁止輸入空...查看完整版>>JavaScript驗證函數集合
 
JavaScript函數庫的未來
過去的幾年間,函數庫爲JavaScript的突然風靡做出了巨大的貢獻。JavaScript開發者因此而解決了難題,而且開發者在爲感興趣的問題開發解決方案的同時,又可以將這些應用到商業領域。 我一直在思考JavaScript函數庫...查看完整版>>JavaScript函數庫的未來
 
百度源代碼裏的精妙javascript圖片大小處理函數
<script language=Javascript>var proMaxHeight = 150;var proMaxWidth = 110;function proDownImage(ImgD){ var image=new Image(); image.src=ImgD.src; if(image.width>0 && ima...查看完整版>>百度源代碼裏的精妙javascript圖片大小處理函數
 
javascript 函數原型
string .length 漢字爲兩個字符處理.Tlength <script>/* This following code are designed and writen by Windy_sk <seasonx@163.net> You can use it freely, but u must held all the copyright item...查看完整版>>javascript 函數原型
 
 
回到王朝網路移動版首頁