JavaScript必知必会(五) eval 的使用

(编辑:jimmy 日期: 2025/9/30 浏览:2)

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 的使用的相关知识 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?