JavaScript必知必會(五) eval 的使用
eval
eval(parse) parse :里面跟參數(shù)字符串,我們知道執(zhí)行javascript 會編譯執(zhí)行,
改變?nèi)肿兞康闹担?/strong>
var x = ; //定義的全局變量
alert(x);//
var g = eval("x="); //eval 會根據(jù)當前上下文解析x
alert(x);//
在全局作用域引用eval,改變?nèi)肿饔糜虻闹?,不改變局部作用域的?/strong>
var g = eval; //全局引用eval
var x = "global";//定義全局變量
(function f() {
var x = "local";
g("x+='changed'");
alert(x);//局部變量local
})();//IIFE 立即執(zhí)行表達式
alert(x);//全局變量的值globalchanged
在局部作用域內(nèi)引用改變局部變量的值,不改變?nèi)肿兞康闹?/strong>
var g = eval; //全局引用eval
var x = "global";//定義全局變量
(function f() {
var x = "local";
eval("x+='changed'");
alert(x);//局部變量localchanged
})();//IIFE 立即執(zhí)行表達式
alert(x);//全局變量的值global
summary
eval 執(zhí)行會根據(jù)上下文來判斷改變的變量時局部的還是全局的,所以使用eval函數(shù),關(guān)鍵是看清引用eval的作用域!
以上所述是小編給大家介紹的JavaScript必知必會(五) eval 的使用的相關(guān)知識 ,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
javascript中的__defineGetter__和__defineSetter__介紹
這篇文章主要介紹了javascript中的__defineGetter__和__defineSetter__介紹,類似面向?qū)ο笳Z言中的get和set關(guān)鍵字,需要的朋友可以參考下2014-08-08
微信小程序?qū)崿F(xiàn)簡單input正則表達式驗證功能示例
這篇文章主要介紹了微信小程序?qū)崿F(xiàn)簡單input正則表達式驗證功能,結(jié)合實例形式分析了微信小程序input組件事件綁定及正則驗證相關(guān)操作技巧,需要的朋友可以參考下2017-11-11
js前端加載超大圖片(100M以上)實現(xiàn)秒開的最佳解決方案
前端加載超大圖片時,一般可以采取圖片壓縮,圖片分割,預加載等措施,而對于幾百M或上G的大圖而言,不管對圖片進行怎么優(yōu)化或加速處理,要實現(xiàn)秒開也是不太可能的事情,所以本文小編將給大家介紹如何對大圖進行分割,在前端進行拼接實現(xiàn)秒開,需要的朋友可以參考下2023-10-10
video.js 實現(xiàn)視頻只能后退不能快進的思路詳解
這篇文章主要介紹了video.js 實現(xiàn)視頻只能后退不能快進的思路詳解,主要思路是點擊進度條需要獲取拖動前的時間點,具體實例代碼大家跟隨小編一起看看吧2018-08-08
一個字符串中出現(xiàn)次數(shù)最多的字符 統(tǒng)計這個次數(shù)【實現(xiàn)代碼】
下面小編就為大家?guī)硪黄粋€字符串中出現(xiàn)次數(shù)最多的字符 統(tǒng)計這個次數(shù)【實現(xiàn)代碼】。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考2016-04-04
借用Google的Javascript API Loader來加速你的網(wǎng)站
加速頁面加載速度有一個方法就是把CSS和JS文件放到另外一個單獨的服務(wù)器上,這樣在訪問量比較大的情況下可以分擔主服務(wù)器的壓力2009-01-01

