JavaScript必知必會(huì)(五) eval 的使用
eval
eval(parse) parse :里面跟參數(shù)字符串,我們知道執(zhí)行javascript 會(huì)編譯執(zhí)行,
改變?nèi)肿兞康闹担?/strong>
var x = ; //定義的全局變量 alert(x);// var g = eval("x="); //eval 會(huì)根據(jù)當(dāng)前上下文解析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í)行表達(dá)式 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í)行表達(dá)式 alert(x);//全局變量的值global
summary
eval 執(zhí)行會(huì)根據(jù)上下文來判斷改變的變量時(shí)局部的還是全局的,所以使用eval函數(shù),關(guān)鍵是看清引用eval的作用域!
以上所述是小編給大家介紹的JavaScript必知必會(huì)(五) eval 的使用的相關(guān)知識(shí) ,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
javascript 數(shù)組精簡(jiǎn)技巧小結(jié)
本文給大家分享了13個(gè)非常常用的JavaScript數(shù)組操作的小技巧,有需要的小伙伴可以來看看,個(gè)人十分推薦.2020-02-02echarts餅圖標(biāo)簽formatter使用及餅圖自定義標(biāo)簽
項(xiàng)目中有遇到需要使用餅圖展示每種狀態(tài)所占比例,去echarts官網(wǎng)學(xué)習(xí)了一番,下面這篇文章主要給大家介紹了關(guān)于echarts餅圖標(biāo)簽formatter使用及餅圖自定義標(biāo)簽的相關(guān)資料,需要的朋友可以參考下2022-12-12分享Javascript中最常用的55個(gè)經(jīng)典小技巧
這篇文章主要介紹了Javascript中最常用的55個(gè)經(jīng)典小技巧。需要的朋友可以過來參考下,希望對(duì)大家有所幫助2013-11-11深入理解JavaScript系列(34):設(shè)計(jì)模式之命令模式詳解
這篇文章主要介紹了深入理解JavaScript系列(34):設(shè)計(jì)模式之命令模式詳解,命令模式(Command)的定義是:用于將一個(gè)請(qǐng)求封裝成一個(gè)對(duì)象,從而使你可用不同的請(qǐng)求對(duì)客戶進(jìn)行參數(shù)化,對(duì)請(qǐng)求排隊(duì)或者記錄請(qǐng)求日志,以及執(zhí)行可撤銷的操作,需要的朋友可以參考下2015-03-03詳解微信小程序開發(fā)聊天室—實(shí)時(shí)聊天,支持圖片預(yù)覽
這篇文章主要介紹了微信小程序?qū)崟r(shí)聊天支持圖片預(yù)覽,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05