码迷,mamicode.com
首页 > 编程语言 > 详细

javascript eval 执行过程

时间:2014-09-19 13:38:55      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:java   代码   c   ef   javascript   r   res   type   as   

当执行eval时,会执行如下过程 eval(x):

1.如果 x的类型不是string,那么会return x;

2.把x转换成 ecmascript 代码。如果转换失败,责抛出SyntaxError异常。

3.为转换后的代码建立一个新的执行上下文环境,并存入evalCtx;

4.执行转换后的代码,并将结果存入result;

5.退出 evalCtx 执行上下文环境,并且回复上一步的执行环境。

6.如果result.type是正常的,如果他的返回值是非空值V,那么将eval将返回V;

7如果result.type 是正常的,如果他的返回值是 empty,那么将返回undefined;

8.否则,必须抛出result.type的一个异常

javascript eval 执行过程

标签:java   代码   c   ef   javascript   r   res   type   as   

原文地址:http://www.cnblogs.com/Mr-Joe/p/3981215.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!