eval
eval(parse) parse :裡面跟參數字符串,我們知道執行javascript 會編譯執行,
改變全局變量的值:
var x = ; //定義的全局變量 alert(x);// var g = eval("x="); //eval 會根據當前上下文解析x alert(x);//
在全局作用域引用eval,改變全局作用域的值,不改變局部作用域的值
var g = eval; //全局引用eval var x = "global";//定義全局變量 (function f() { var x = "local"; g("x+='changed'"); alert(x);//局部變量local })();//IIFE 立即執行表達式 alert(x);//全局變量的值globalchanged
在局部作用域內引用改變局部變量的值,不改變全局變量的值
var g = eval; //全局引用eval var x = "global";//定義全局變量 (function f() { var x = "local"; eval("x+='changed'"); alert(x);//局部變量localchanged })();//IIFE 立即執行表達式 alert(x);//全局變量的值global
summary
eval 執行會根據上下文來判斷改變的變量時局部的還是全局的,所以使用eval函數,關鍵是看清引用eval的作用域!
以上所述是小編給大家介紹的JavaScript必知必會(五) eval 的使用的相關知識 ,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對網站的支持!