导航:首页 > 编程语言 > javascript中eval函数例子

javascript中eval函数例子

发布时间:2023-04-10 21:48:10

A. eval('('+sjson+')')

eval('('+sjson+')') 执行的是什么?
eval 函数
功能:先解释javascript代码,然后在执行它
用法:eval(codeString)
codeString是包含有Javascript语句的字符串,在eval之后使用Javascript引擎编译。

举个小例子:

var the_unevaled_answer = "2 + 3";
var the_evaled_answer = eval("2 + 3");
alert("the un-evaled answer is " + the_unevaled_answer + " and the evaled answer is " + the_evaled_answer);
如果你运行这段eval程序, 你将会看到在JavaScript里字符串”2 + 3〃实际上被执行了。
后一句的ret.result又是什么意思?
eval('('+sjson+')')调用sjson返回结果,并且返回的结果是一个布尔型
sjson的值能从.post(url)里返回吗?
可以返回的

B. javascript 里面eval表示的是什么函数呀

eval可以将字符串生成语句执行,和SQL的exec()类似。

eval的使用场合是什么呢?有时候我们预先不知道要执行什么语句,只有当条件和参数给时才知道执行什么语句,这时候eval就派上用场了。举个例子:

我们要做一个function(),功能是输入网页中两个个对象的名称,然后程序就将这两个对象的值联接起来输出。

function output(a,b)
{
var tmpa,tmpb;
tmpa=document.all.a.value;
tmpb=document.all.b.value;
document.write(tmpa+tmpb);
}

output('input1','input2');

这样你执行的时候就会提示错误“document.all.a不是对象”以及“document.all.b不是对象”。原来javascript把a和b当成对象名称了,怎样能让javascript把a里面的值作为对象名称呢?这时候就要用eval了,把代码改成这样:

function output(a,b)
{
var tmpa,tmpb;
tmpa=eval("document.all."+a+".value");
tmpb=eval("document.all."+b+".value");
document.write(tmpa+tmpb);
}

output('input1','input2');

这样javascript就会先取出a,b的值,然后和前面的document.all.以及后面的.value组合运行,于是就可以
顺利取出input1和input2的值,我们的目的达到了。

C. eval是什么意思

Eval的意思是要计算的字符串。

eval可以将字符串生成语句执行,和SQL的exec()类似。eval是Javascript内置函数,用于计算字符串表达式的值。例如eval(“2+3”)返回的是5。Eval(stringy)函数可计算某个字符串,并执行闷芦其中的JavaScript代码。

参数:string,描述:要计算的字符串,其中含有要计算的Javascript表达式或要执行的语句。jscript中的用法很相似。

Eval函数

eva函数允许动态执行JScript源代码。传递给eval方法的代码执行时所在的上下文和调用eval方法时的上下文一样。请注意,在eval语句中定义的新变量或类型对于封闭程序是不可见的。除非将字符串”unsafe”传递为第二个参数。

在Flash4中,还可以使用eval动态地设置和检索变量值或实例名称。否则,传递至eval方法的代码在受限安全上下文中执行。受限安全上下文禁止访问系统资源,如文件系统、网络或用户界面。如果代码试图访问这些资源,则会产生安全异常。

当eval的第二个参数为字符串unsafe时,传递给eval方法的代喊枣码在调用代码所在的安全上郑罩拆下文中执行。第二个参数是区分大小写的,因此,字符串“Unsafe“或“UnSAfE“不会重写受限安全上下文。

D. javascript中eval的用法

JavaScript eval() 函数

JavaScript 全局对象

定义和用法:

eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。

语法:

eval(string)

返回值:

通蠢空贺过计算 string 得到的值(如果有的话)。

说明:

该方法只接受原始字符串作为参数,如果 string 参数不是原始字符串,那么该方法将不作任何改变地返回。因此请不要为 eval() 函数传递 String 对象来作为参数。

如果试图覆盖 eval 属性或把 eval() 方法赋予另一亏敬个属性,并通过该属性调用它,则 ECMAScript 实现允许抛出一个 EvalError 异常。

抛出:

如果参数中没有合法的表达式和语带派句,则抛出 SyntaxError 异常。

如果非法调用 eval(),则抛出 EvalError 异常。

如果传递给 eval() 的 Javascript 代码生成了一个异常,eval() 将把该异常传递给调用者。

(4)javascript中eval函数例子扩展阅读:

调用eval函数的三种情况:

1、直接调用

直接调用时,eval函数相关的执行环境属性ThisBinding,LexicalEnvironment,VariableEnvironment的值如下:

a) ThisBinding是调用eval函数时,调用方执行环境的ThisBinding

b) LexicalEnvironment是调用eval函数时,调用方执行环境的LexicalEnvironment

c) VariableEnvironemnt是调用eval函数时,调用方执行环境的VariableEnvironment

2、间接调用

所谓间接调用,即将eval赋值给另一个变量后在调用

3、严格模式下的eval

在严格模式下,eval的LexicalEnvironment,VariableEnvironment指向属于eval自己的Lexcial Environment,而不是调用方的Lexical Environment,但是ThisBinding还是调用方的ThisBinding。

同时,在严格模式下如果eval直接调用,那么eval的Lexical Environment的outer指针指向调用方的Lexical Environment,否则,如果是间接调用,那么eval的Lexical Environment的outer指针指向全局环境的Lexical Environment。

参考资料来源:网络--eval()

E. 请问Javascript中的eval()函数中额外的圆括号有什么用

在eval()函数内的括号是运算符"()",相当于 “13*(1+2)”这个计算式中吵圆的括号

假如 request.responseText = "12+10" 是字符串
经过 var response = eval("(" + request.responseText + ")") ; 后
response = (12+10); 也就是22

为什么要用括号,升亩塌要看耐氏上下文代码。

F. js中这个函数eval()对json数据有什么用那eval( '(' + content + ')' )里边为什么要加引号呢

对于服务器返回的JSON字符串,如果jquery异步请求没做类型说明,或者以字符串方式接受,那么需要做一次对象化处理,方式不是太麻烦,就是将该字符串放于eval()中执行一次。这种方式也适合以普通javascipt方式获取json对象,以下举例说明:

var dataObj=eval("("+data+")");//转换为json对象

为什么要 eval这里要添加 “("("+data+")");//”呢?

原因在于:eval本身的问题。 由于json是以”{}”的方式来开始以及结束的,在JS中,它会被当成一个语句块来处理,所以必须强制性的将它转换成一种表达式。

加上圆括号的目的是迫使eval函数在处理JavaScript代码的时候强制将括号内的表达式(expression)转化为对象,而不是作为语 句(statement)来执行。举一个例子,例如对象字面量{},如若不加外层的括号,那么eval会将大括号识别为JavaScript代码块的开始 和结束标记,那么{}将会被认为是执行了一句空语句。所以下面两个执行结果是不同的:
alert(eval("{}"); // return undefined
alert(eval("({})");// return object[Object]

G. JAVASCRIPT中的EVAL()函数问题如下:

JS eval()函数

eval()函数

JavaScript有许多小窍门来使编程更加容易。
其中之一就是eval()函数,这个函数可以把一个字符串当作一个JavaScript表达式一样去执行它。
举个小例子:
//执行表达式
var the_unevaled_answer = "2 + 3";
var the_evaled_answer = eval("2 + 3");
alert("the un-evaled answer is " + the_unevaled_answer + " and the evaled answer is " + the_evaled_answer);

如果你运行这明隐森段eval程序, 你将会看到在JavaScript里字符串"2 + 3"实际上被执行了。
所以当你把the_evaled_answer的值设成 eval("2 + 3"携旅)时, JavaScript将会明白并把2和3的和返回给the_evaled_answer。
这个看起来似乎有点傻,其实可以做出很有趣的事。比如使用eval你可以根据用户的输入直接创建函数。
这可以使程序根据时间或用户输入的不同而使程序本身发生变化,通过举一反三,你可以获得惊人的效果。
在实际中,eval很少被用到,但也许你见过有人使用eval来获取难以索引的对象。

文档对象模型(DOM)的问题之一是:有时你要获取你要求的对象简直就是痛苦。
例如,这里有一个函数询问用户要变换哪个图象:变换哪个图象你可以用下面这个函数:

function swapOne()
{
var the_image = prompt("change parrot or cheese","");
var the_image_object;

if (the_image == "parrot")
{
the_image_object = window.document.parrot;
}
else
{
the_image_object = window.document.cheese;
}

the_image_object.src = "ant.gif";
}

连同这些image标记:

[img src="http://a.com/a.gif" name="parrot"]
[img src="http://b.com/b.gif" name="cheese"]
[code]
请注意象这样的几行语句:
[code]
the_image_object = window.document.parrot;

它把一个图象对象敷给了一个变量。虽然看起来有点儿奇怪,它在语法上却毫无问题。
但当你有100个而不是两个图象时怎么办?你只好写上一大堆的 if-then-else语句,要是能象这样就好了:

function swapTwo()
{
var the_image = prompt("change parrot or cheese","");
window.document.the_image.src = "ant.gif";
}

不幸的是, JavaScript将会寻找名字叫 the_image而不是你所希望的"cheese"或者"parrot"的图象,
于是你得到了错误信息:”没听说过一个名为the_image的对象”。

还好,eval能够帮你得到你想要的对象。

function simpleSwap()
{
var the_image = prompt("change parrot or cheese","");
var the_image_name = "window.document." + the_image;
var the_image_object = eval(the_image_name);
the_image_object.src = "ant.gif";
}

如果用户在提示框里填入"parrot",激亩在第二行里创建了一个字符串即window.document.parrot. 然后包含了eval的第三
行意思是: "给我对象window.document.parrot" - 也就是你要的那个图象对象。一旦你获取了这个图象对象,你可以把
它的src属性设为ant.gif. 有点害怕?用不着。其实这相当有用,人们也经常使用它。
我们常常在Javascript中间到Eval这个函数,
有些人觉得这个函数很奇怪,可以把一些字符串变的功能很强大
在我们需要将普通的字符串转变成具体的对象的时候,就会用到这个函数

eval 函数对作为数字表达式的一个字符串进行求值,其语法为:

eval(expr)

此处 expr 是一个被求值的字符串参数。如果该字符串是一个表达式,eval 求该表达式的值;如果该参数代表一个或多个 JavaScript 语句,那么 eval 执行这些语句。eval 函数可以用来把一个日期从一种格式(总是字符串)转换为数值表达式或数字

<html>
<body>

<script type="text/javascript">

eval("x=10;y=20;document.write(x*y)")
document.write("<br />")

document.write(eval("2+2"))
document.write("<br />")

var x=10
document.write(eval(x+17))
document.write("<br />")

eval("alert('Hello world')")

</script>

</body>
</html>

第一个运算x*y = 10*20 = 200;
第二个运算2+2 = 4
第三个运算x+17 = 10 + 17 = 27

H. 求解释一下javascript的一个函数

eval函数就是把 eval(str) 里面的str当做javascript语句来执行
那eval("u" + musicId)这句,首先执行字符串u和变量musicId的字符串连接,假设musicId为10,那就变成了eval("u10"),这时eval将u10当做javascript里的语句,那就将u10认为是一个变量来获取它的值。
eval("u" + musicId)+"|"接下来与|一个竖线来进行字符串连接,

依次类推,假设musicId为10的话,那songstr=eval("u" + musicId)+"|"+musicId+"|"+eval("n" + musicId)+"|"+eval("t" + musicId)+"|"+eval("s" + musicId);
进行变量替换后就为
songstr=eval("u10" )+"|"+10+"|"+eval("n10")+"|"+eval("t10")+"|"+eval("s10");

假设前面定义了var u10=1,n10=2,t10=3,s10=4,这句话执行后就变为
songstr=“1|10|2|3|4”这样一个字符串

I. jsp的eval是怎样使用的eval和event的区别

jsp中event 是javaScript的事件管理对象,对键盘,鼠标产生的动作,都可以出发这个对象的某个属性。
eval() 函数可将字符串转换为代码执行,并返回一个或多个值
例如:eval("alert(1234)");//弹出对话框,并且显示1234
eval("abcdefg()");//abcdefg()为javaScript函数名称
总之,eval中的参数可以是javaScript。就像在页面中运行一样。

J. 在JS中eval函数是什么意思

它的功能是把对应的字符串解析成JS代码并运行
比如说你现在要运行一个铅让山可变的方法
function
name1(){……}
function
name2(){……}
var
m="name1";
eval(m+'()');//运行name1();
m='name2';
eval(m+'()');//运行槐中滑伍name2();

阅读全文

与javascript中eval函数例子相关的资料

热点内容
maya粒子表达式教程 浏览:84
抖音小视频如何挂app 浏览:283
cad怎么设置替补文件 浏览:790
win10启动文件是空的 浏览:397
jk网站有哪些 浏览:134
学编程和3d哪个更好 浏览:932
win10移动硬盘文件无法打开 浏览:385
文件名是乱码还删不掉 浏览:643
苹果键盘怎么打开任务管理器 浏览:437
手机桌面文件名字大全 浏览:334
tplink默认无线密码是多少 浏览:33
ipaddgm文件 浏览:99
lua语言编程用哪个平台 浏览:272
政采云如何导出pdf投标文件 浏览:529
php获取postjson数据 浏览:551
javatimetask 浏览:16
编程的话要什么证件 浏览:94
钱脉通微信多开 浏览:878
中学生学编程哪个培训机构好 浏览:852
荣耀路由TV设置文件共享错误 浏览:525

友情链接