希岛爱理av免费一区二区,成人性教育av免费网址,欧美7777,在线免费日韩片

十年專注于品牌網站建設 十余年專注于網站建設_小程序開發_APP開發,低調、敢創新、有情懷!
南昌百恒網絡微信公眾號 掃一掃關注
小程序
tel-icon全國服務熱線:400-680-9298,0791-88117053
掃一掃關注百恒網絡微信公眾號
掃一掃打開百恒網絡微信小程序

百恒網絡

南昌百恒網絡

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

百恒網絡 2013-02-18 5247

我們介紹整個ECMAScript語言中最強大的一個方法:eval()。eval()方法就像是一個完整的ECMAScript解析器,它只接受一個參數,即要執行的ECMAScript(或JavaScript)字符串??聪旅娴睦樱?

eval("alert('專業做網站')");

這行代碼的作用等價于下面這行代碼:

alert("專業做網站");

當解析器發現代碼中調用eval()方法時,它會將傳人的參數當作實際的ECMAScript語句來解析,然后把執行結果插入到原位置。通過eval()執行的代碼被認為是包含該次調用的執行環境的一部分,因此被執行的代碼具有與該執行環境相同的作用域鏈。這意味著通過eval()執行的代碼可以引用在包含環境中定義的變量,舉個例子:

var msg="hello world";

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

可見,變量msg是在eval()調用的環境之外定義的,但其中調用的alert()仍然能夠顯示"helloworld"。這是因為上面第二行代碼最終被替換成了一行真正的代碼。同樣地,我們也可以在eval()調用中定義一個函數,然后再在該調用的外部代碼中引用這個函教:

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

sayHi();

南昌網絡公司技術人員提示,函數sayHi是在eval()內部定義的,但由于對eval()的調用最終會被替代換成定義函數的實際代碼,因此可以在下一行調用sayHi().

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

本資料僅限南昌網站制作公司百恒網絡技術部內部人員交流使用,方便內部技術人員學習交流,請勿作其他用途.謝謝支持!

文章出自:南昌建網站公司-百恒網絡 http://www.527701.com 如轉載請注明出處


400-680-9298,0791-88117053
掃一掃關注百恒網絡微信公眾號
掃一掃打開百恒網絡小程序

歡迎您的光顧,我們將竭誠為您服務×

售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售后服務 售后服務
 
售后服務 售后服務
 
備案專線 備案專線
 
×
主站蜘蛛池模板: 巴林右旗| 溧阳市| 凤城市| 永定县| 铜川市| 衡东县| 岚皋县| 金湖县| 平和县| 宁明县| 廊坊市| 壤塘县| 新源县| 湾仔区| 禹城市| 红安县| 布拖县| 东明县| 临武县| 克拉玛依市| 冕宁县| 隆回县| 恩施市| 临西县| 洞头县| 确山县| 长葛市| 贵阳市| 阿尔山市| 林州市| 屏东市| 怀远县| 容城县| 都昌县| 礼泉县| 延安市| 宣恩县| 城市| 丽江市| 城固县| 宣化县|