天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

Javascript中eval函數(shù)的使用方法與示例

定義和用法 eval() 函數(shù)可計算某個字符串,并執(zhí)行其中的的 JavaScript 代碼。

語法 eval(string) 參數(shù) 描述 string 必需。要計算的字符串,其中含有要計算的 JavaScript 表達式或要執(zhí)行的語句。 返回值 通過計算 string 得到的值(如果有的話)。

說明 該方法只接受原始字符串作為參數(shù),如果 string 參數(shù)不是原始字符串,那么該方法將不作任何改變地返回。因此請不要為 eval() 函數(shù)傳遞 String 對象來作為參數(shù)。

如果試圖覆蓋 eval 屬性或把 eval() 方法賦予另一個屬性,并通過該屬性調(diào)用它,則 ECMAScript 實現(xiàn)允許拋出一個 EvalError 異常。

拋出 如果參數(shù)中沒有合法的表達式和語句,則拋出 SyntaxError 異常。

如果非法調(diào)用 eval(),則拋出 EvalError 異常。

如果傳遞給 eval() 的 Javascript 代碼生成了一個異常,eval() 將把該異常傳遞給調(diào)用者。

提示和注釋 提示:雖然 eval() 的功能非常強大,但在實際使用中用到它的情況并不多。

下面為大家分享一個常用的小例子:

<SCRIPT language="Javascript">function showsubmenu(sid){whichEl = eval("submenu" + sid);if (whichEl.style.display == "none"){eval("submenu" + sid + ".style.display=/"/";");}else{eval("submenu" + sid + ".style.display=/"none/";");}}</SCRIPT>

Eval 函數(shù)

功能:先解釋Javascript代碼,然后在執(zhí)行它

用法:Eval(codeString)

codeString是包含有Javascript語句的字符串,在eval之后使用Javascript引擎編譯。 
舉個小例子:

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"實際上被執(zhí)行了。所以當你把the_evaled_answer的值設成 eval("2 + 3")時, JavaScript將會明白并把2和3的和返回給the_evaled_answer。 

這個看起來似乎有點傻,其實可以做出很有趣的事。比如使用eval你可以根據(jù)用戶的輸入直接創(chuàng)建函數(shù)。這可以使程序根據(jù)時間或用戶輸入的不同而使程序本身發(fā)生變化,通過舉一反

三,你可以獲得驚人的效果。

在實際中,eval很少被用到,但也許你見過有人使用eval來獲取難以索引的對象。 文檔對象模型(DOM)的問題之一是:有時你要獲取你要求的對象簡直就是痛苦。例如,這里有一個函數(shù)詢問用戶要變換哪個圖象:變換哪個圖象你可以用下面這個函數(shù):

function swapOne() {  var the_image = prompt("change parrot or cheese","");  var the_image_object;  if (the_image == "parrot")  {  the_image_object = window.document.parrot;  }  else  {  the_image_object = window.document.cheese;  }  the_image_object.src = "ant.gif"; } 

連同這些image標記:

<img src="/stuff3a/parrot.gif" name="parrot" />
<img src="/stuff3a/cheese.gif" name="cheese">

請注意象這樣的幾行語句:
the_image_object = window.document.parrot;
它把一個圖象對象敷給了一個變量。雖然看起來有點兒奇怪,它在語法上卻毫無問題。但當你有100個而不是兩個圖象時怎么辦?你只好寫上一大堆的 if-then-else語句,要是能象這樣就好了:

function swapTwo() {  var the_image = prompt("change parrot or cheese","");  window.document.the_image.src = "ant.gif"; } 

不幸的是, JavaScript將會尋找名字叫 the_image而不是你所希望的"cheese"或者"parrot"的圖象,于是你得到了錯誤信息:”沒聽說過一個名為the_image的對象”。 
還好,eval能夠幫你得到你想要的對象。

function simpleSwap() {  var the_image = prompt("change parrot or cheese","");  var the_image_name = "window.document." + the_image;  var the_image_object = eval(the_image_name);  the_image_object.src = "ant.gif"; } 

如果用戶在提示框里填入"parrot",在第二行里創(chuàng)建了一個字符串即window.document.parrot. 然后包含了eval的第三行意思是: "給我對象window.document.parrot" - 也就是你要的那個圖象對象。一旦你獲取了這個圖象對象,你可以把它的src屬性設為ant.gif. 有點害怕?用不著。其實這相當有用,人們也經(jīng)常使用它。

JavaScript技術Javascript中eval函數(shù)的使用方法與示例,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 被强J高H纯肉公交车啊 | 欧美xxxx性喷潮 | 91精品国产免费入口 | 香蕉水蜜桃牛奶涩涩 | 色综合欧美色综合七久久 | 99re久久热在线播放8 | 欧美一级成人影院免费的 | 精品久久久久久无码人妻国产馆 | 女人张腿让男人桶免费 | 国产精品A久久777777 | 女配穿书病娇被强啪h | 九九精品久久 | 成人国内精品久久久久影 | 国产精品爽爽久久久久久蜜桃网站 | 欧美一区二区视频在线观看 | 婷婷六月激情综合一区 | 久久aa毛片免费播放嗯啊 | 热九九99香蕉精品品 | 日韩亚洲国产欧美免费观看 | 男同志vdieos免费 | 国产一卡2卡3卡4卡孕妇网站 | 男生互捏jiji的故事 | 亚洲国产高清在线 | 亚洲福利天堂网福利在线观看 | 黄色片网站下载 | 美女张开腿让男生桶动态图 | 农民工老头在出租屋嫖老熟女 | 国产69精品久久久久乱码免费 | 久九九精品免费视频 | 亚洲免费视频网站 | 亚洲精品久久久WWW游戏好玩 | 无码专区无码专区视频网网址 | 国产高清视频在线观看不卡v | 久久视热频国产这里只有精品23 | 我半夜摸妺妺的奶C了她 | 国产亚洲精品V在线观看一 国产亚洲精品a在线观看app | 国产成人免费全部网站 | 97国产露脸精品国产麻豆 | 最近中文字幕在线中文视频 | 久久亚洲人成网站 | 中文字幕在线观看网站 |