当执行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的一个异常

最新文章

  1. 基于Python的TestAgent实现
  2. MyEclipse for linux 破解方法
  3. 【leetcode】Maximum Gap
  4. kafka原理存储
  5. ImageSource的使用
  6. LinkedBlockingQueue和ConcurrentLinkedQueue详细用法
  7. Android开发-API指南-任务和回退栈
  8. System V信号量
  9. How to center anything with css
  10. Python成长之路_装饰器
  11. [置顶] perl脚本中defined,exists和delete关键字的用法和区别
  12. 配置BeanUtils包,同时也是对导入第三包的步骤说明
  13. SQLite数据库操作 (原始操作)
  14. flashbuilder mx组件 MenuBar
  15. Java提高十五:容器元素比较Comparable&Comparator深入分析
  16. cassandra 3.x官方文档(4)---分区器
  17. MDX Query - mdx的基本语法和概念
  18. autotools源文件相同/不同目录下
  19. C# 用 WebClient 的 Post 方法向 WebServer 传输数据
  20. 阿里云 centos7 django + uWSGI+Nginx + python3 部署攻略

热门文章

  1. QTREE 树链剖分---模板 spoj QTREE
  2. SQLite的查询
  3. Agile.Net 组件式开发平台 - 脚本管理组件
  4. 第二十九篇、UICollectionView瀑布流
  5. SCSS是什么
  6. C# 线程--第四线程实例
  7. JavaScript---Cookie
  8. css笔记——关于 body/html 的高度百分比
  9. indeed2017校招在线编程题(网测)三
  10. SQL server 常见用法记录