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