rhino是一个Mozilla的开源的由java写的javascript解释器。

文档地址 https://developer.mozilla.org/en/Rhino_documentation

安装方法 http://www.terminally-incoherent.com/blog/2008/01/08/rhino-scripting-java-with-javascript

安装。

ubuntu下直接   sudo apt-get install rhino

然后写个 a.js文件,内容如下

print("hello world")

在终端,输入 rhino a.js。就能看到输入 hello world

在rhino中能返回js执行环境中的variable object。通过__parent__

function f(){
var bob='hello';
var inner = function(){};
var parent = inner.__parent__;
var contents ='';
for (k in parent) contents += k + ' ';
print(contents);
}
f();

输出:arguments bob inner parent contents

看一下代码会输出什么?

function a(){var a2="in";return function(){var b=2;return b;}}
var b=a();
var contents = '';
for (k in b.__parent__) contents += k + ' ';
print(contents)

输出:arguments a2

以上说明了什么?函数b的作用域链在函数定义的时候,已经创建好了。

转载于:https://www.cnblogs.com/lunalord/archive/2011/03/24/1994172.html

js解释器rhino查看执行环境相关推荐

  1. js执行环境作用域和闭包_JavaScript中执行上下文,提升,作用域和闭包的终极指南

    js执行环境作用域和闭包 It may seem surprising, but in my opinion the most important and fundamental concept to ...

  2. js对象字面量属性间相互访问的问题 和 这个问题与执行环境的关系

    对象字面量属性间无法相互访问的问题: 我曾经在定义一个对象时, 并出于复用性的考虑试图复用某些属性: // test 1 var person = {firstName : "Bill&qu ...

  3. js var是什么类型_JS变量的执行环境和生命周期

    温故而知新,这些JS基础知识你都知道吗? 今天和大家分享的是 JavaScript 中有关变量的知识,希望这篇文章能让你对JS中的变量有新的认识. 目录: 变量的执行环境(执行上下文) 执行上下文的生 ...

  4. js 执行环境 活动对象 变量对象 作用域链的理解

    看一下是知乎大神对于 js 执行环境 活动对象 变量对象 作用域链的解释 假设在全局环境下定义了函数pub()和变量pubvar: var pubvar = 1; function pub () {v ...

  5. js中执行php语句_重温JS中的执行环境和作用域链

    说明:以下代码说明和原理都是基于ES5和非严格模式进行 执行环境和作用域链 执行环境定义了变量或函数有权访问的其他数据.每个执行环境都有与之关联的变量对象,一般情况下我们无法访问变量对象,解析器会在我 ...

  6. cmd查看java环境变量_cmd查看环境变量

    1.查看当前所有可用的环境变量:输入 set 即可查看. 2.查看某个环境变量:输入 "set 变量名"即可,比如想查看path变量的值,即输入 set path 3.修改环境变量 ...

  7. Python回顾与整理12:执行环境

    作为<Python核心编程>核心部分的最后一章,这篇的内容也相当重要.对于高级部分的整理,将采用<Python核心编程>第三版,但是,方式会以之前的完全不一样了. 1.可调用对 ...

  8. java rhino import_java调用javascript :js引擎rhino

    前段时间,在浏览javaeye论坛,看见有人征集如何在java中运行数学表达式. 结果方案五花八门: 1.jakarta commons JEXL. 2.Beanshell 3.Java Math E ...

  9. python浓缩(14)执行环境

    为什么80%的码农都做不了架构师?>>>    本章主题 可调用对象 代码对象 语句和内置函数 执行其他程序 终止执行 各类操作系统接口 相关模块 python 中有多种运行外部程序 ...

最新文章

  1. vscode设置默认新建html,VScode修改默认生成的HTML模板的方法
  2. dos批处理命令详解
  3. 入门demo---Mybatis学习笔记(三)
  4. centos7 日志文件
  5. 7种形式的Android Dialog使用举例
  6. 简明python教程-简明Python教程-中文版.pdf
  7. python实现判断一个整数是否是回文数
  8. pyqt:使用qrc文件配置图片资源,生成py文件
  9. 适用于window平台的java虚拟机_雪豹系统安装说明
  10. 选择服务器系统,服务器系统选择
  11. java clh_【死磕Java并发】-J.U.C之AQS:CLH同步队列 - Java 技术驿站-Java 技术驿站
  12. docker 部署 shipyard
  13. Hdu2184汉诺塔VIII
  14. postgresql 12.0 源码编译安装
  15. Android论坛大全
  16. 怎么使用软碟通UltraISO制作Ubuntu镜像的U盘启动盘的详细步骤,镜像下载
  17. html页面滚动 锚点,页面实现锚点滚动的滑动效果
  18. 简单说明拆计算机的流程,cpu风扇怎么拆详细步骤
  19. 计算机excel2010操作题,计算机应用基础Excel2010综合测试操作步骤参考自测题步骤...
  20. Mac 忘记Mysql密码解决办法

热门文章

  1. vscode设置中文,设置中文不成功问题
  2. c# linq的差集,并集,交集,去重【转】
  3. 实现Repeater控件的记录单选(二)
  4. Git之第三方托管oschina
  5. 使用贝赛尔路径(UIBezierPath)创建画板
  6. 宽容与忍耐 忍乃济——这是《尚书》这部中国令世人刮目的奇书告诉我们的真理 保身第一法:谦逊;处事第一法:安详;待人第一法:涵容(宽容);养心第一法:洒脱...
  7. UVA10763:Foreign ExchangeUVA10340: All in All(水题)
  8. DataList分页技术-- PagedDataSource类实现DataList和Repeater的分页效果
  9. 支付宝新版SDK-PC扫码支付-手机浏览器H5支付
  10. Android百度云推送接入,附完整代码