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

广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!

RTX 5090要首发 性能要翻倍!三星展示GDDR7显存

三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。

首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。

据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。