caoporm97国产在线视频|欧美性XXXXX精品|一本一道久久a久久精品综合开|精品久久久久久久久久久AⅤ|

十年專注于品牌網(wǎng)站建設(shè) 十余年專注于網(wǎng)站建設(shè)_小程序開發(fā)_APP開發(fā),低調(diào)、敢創(chuàng)新、有情懷!
南昌百恒網(wǎng)絡(luò)微信公眾號(hào) 掃一掃關(guān)注
小程序
tel-icon全國(guó)服務(wù)熱線:400-680-9298,0791-88117053
掃一掃關(guān)注百恒網(wǎng)絡(luò)微信公眾號(hào)
掃一掃打開百恒網(wǎng)絡(luò)微信小程序

百恒網(wǎng)絡(luò)

南昌百恒網(wǎng)絡(luò)

ECMAScript中eval()方法使用方法及注意事項(xiàng)

百恒網(wǎng)絡(luò) 2013-02-18 4956

我們介紹整個(gè)ECMAScript語(yǔ)言中最強(qiáng)大的一個(gè)方法:eval()。eval()方法就像是一個(gè)完整的ECMAScript解析器,它只接受一個(gè)參數(shù),即要執(zhí)行的ECMAScript(或JavaScript)字符串。看下面的例子:

eval("alert('專業(yè)做網(wǎng)站')");

這行代碼的作用等價(jià)于下面這行代碼:

alert("專業(yè)做網(wǎng)站");

當(dāng)解析器發(fā)現(xiàn)代碼中調(diào)用eval()方法時(shí),它會(huì)將傳人的參數(shù)當(dāng)作實(shí)際的ECMAScript語(yǔ)句來(lái)解析,然后把執(zhí)行結(jié)果插入到原位置。通過(guò)eval()執(zhí)行的代碼被認(rèn)為是包含該次調(diào)用的執(zhí)行環(huán)境的一部分,因此被執(zhí)行的代碼具有與該執(zhí)行環(huán)境相同的作用域鏈。這意味著通過(guò)eval()執(zhí)行的代碼可以引用在包含環(huán)境中定義的變量,舉個(gè)例子:

var msg="hello world";

eval("alert(msg)"); //"hello world"

可見(jiàn),變量msg是在eval()調(diào)用的環(huán)境之外定義的,但其中調(diào)用的alert()仍然能夠顯示"helloworld"。這是因?yàn)樯厦娴诙写a最終被替換成了一行真正的代碼。同樣地,我們也可以在eval()調(diào)用中定義一個(gè)函數(shù),然后再在該調(diào)用的外部代碼中引用這個(gè)函教:

eval("function sayHi() (alert('hi');)");

sayHi();

南昌網(wǎng)絡(luò)公司技術(shù)人員提示,函數(shù)sayHi是在eval()內(nèi)部定義的,但由于對(duì)eval()的調(diào)用最終會(huì)被替代換成定義函數(shù)的實(shí)際代碼,因此可以在下一行調(diào)用sayHi().

能夠解釋代碼字符的能力非常強(qiáng)大,但也非常危險(xiǎn).因此在使用eval()時(shí)必須極為謹(jǐn)慎,特別是在用它執(zhí)行用戶輸入數(shù)據(jù)的情況下.否則,可能會(huì)有惡意用戶輸入威脅你的站點(diǎn)或應(yīng)用程序安全代碼(即所謂的代碼注入).

本資料僅限南昌網(wǎng)站制作公司百恒網(wǎng)絡(luò)技術(shù)部?jī)?nèi)部人員交流使用,方便內(nèi)部技術(shù)人員學(xué)習(xí)交流,請(qǐng)勿作其他用途.謝謝支持!

文章出自:南昌建網(wǎng)站公司-百恒網(wǎng)絡(luò) http://www.gimmickmag.com 如轉(zhuǎn)載請(qǐng)注明出處


400-680-9298,0791-88117053
掃一掃關(guān)注百恒網(wǎng)絡(luò)微信公眾號(hào)
掃一掃打開百恒網(wǎng)絡(luò)小程序

歡迎您的光顧,我們將竭誠(chéng)為您服務(wù)×

售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售后服務(wù) 售后服務(wù)
 
售后服務(wù) 售后服務(wù)
 
備案專線 備案專線
 
×