js解释器rhino查看执行环境
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查看执行环境相关推荐
- js执行环境作用域和闭包_JavaScript中执行上下文,提升,作用域和闭包的终极指南
js执行环境作用域和闭包 It may seem surprising, but in my opinion the most important and fundamental concept to ...
- js对象字面量属性间相互访问的问题 和 这个问题与执行环境的关系
对象字面量属性间无法相互访问的问题: 我曾经在定义一个对象时, 并出于复用性的考虑试图复用某些属性: // test 1 var person = {firstName : "Bill&qu ...
- js var是什么类型_JS变量的执行环境和生命周期
温故而知新,这些JS基础知识你都知道吗? 今天和大家分享的是 JavaScript 中有关变量的知识,希望这篇文章能让你对JS中的变量有新的认识. 目录: 变量的执行环境(执行上下文) 执行上下文的生 ...
- js 执行环境 活动对象 变量对象 作用域链的理解
看一下是知乎大神对于 js 执行环境 活动对象 变量对象 作用域链的解释 假设在全局环境下定义了函数pub()和变量pubvar: var pubvar = 1; function pub () {v ...
- js中执行php语句_重温JS中的执行环境和作用域链
说明:以下代码说明和原理都是基于ES5和非严格模式进行 执行环境和作用域链 执行环境定义了变量或函数有权访问的其他数据.每个执行环境都有与之关联的变量对象,一般情况下我们无法访问变量对象,解析器会在我 ...
- cmd查看java环境变量_cmd查看环境变量
1.查看当前所有可用的环境变量:输入 set 即可查看. 2.查看某个环境变量:输入 "set 变量名"即可,比如想查看path变量的值,即输入 set path 3.修改环境变量 ...
- Python回顾与整理12:执行环境
作为<Python核心编程>核心部分的最后一章,这篇的内容也相当重要.对于高级部分的整理,将采用<Python核心编程>第三版,但是,方式会以之前的完全不一样了. 1.可调用对 ...
- java rhino import_java调用javascript :js引擎rhino
前段时间,在浏览javaeye论坛,看见有人征集如何在java中运行数学表达式. 结果方案五花八门: 1.jakarta commons JEXL. 2.Beanshell 3.Java Math E ...
- python浓缩(14)执行环境
为什么80%的码农都做不了架构师?>>> 本章主题 可调用对象 代码对象 语句和内置函数 执行其他程序 终止执行 各类操作系统接口 相关模块 python 中有多种运行外部程序 ...
最新文章
- vscode设置默认新建html,VScode修改默认生成的HTML模板的方法
- dos批处理命令详解
- 入门demo---Mybatis学习笔记(三)
- centos7 日志文件
- 7种形式的Android Dialog使用举例
- 简明python教程-简明Python教程-中文版.pdf
- python实现判断一个整数是否是回文数
- pyqt:使用qrc文件配置图片资源,生成py文件
- 适用于window平台的java虚拟机_雪豹系统安装说明
- 选择服务器系统,服务器系统选择
- java clh_【死磕Java并发】-J.U.C之AQS:CLH同步队列 - Java 技术驿站-Java 技术驿站
- docker 部署 shipyard
- Hdu2184汉诺塔VIII
- postgresql 12.0 源码编译安装
- Android论坛大全
- 怎么使用软碟通UltraISO制作Ubuntu镜像的U盘启动盘的详细步骤,镜像下载
- html页面滚动 锚点,页面实现锚点滚动的滑动效果
- 简单说明拆计算机的流程,cpu风扇怎么拆详细步骤
- 计算机excel2010操作题,计算机应用基础Excel2010综合测试操作步骤参考自测题步骤...
- Mac 忘记Mysql密码解决办法
热门文章
- vscode设置中文,设置中文不成功问题
- c# linq的差集,并集,交集,去重【转】
- 实现Repeater控件的记录单选(二)
- Git之第三方托管oschina
- 使用贝赛尔路径(UIBezierPath)创建画板
- 宽容与忍耐 忍乃济——这是《尚书》这部中国令世人刮目的奇书告诉我们的真理 保身第一法:谦逊;处事第一法:安详;待人第一法:涵容(宽容);养心第一法:洒脱...
- UVA10763:Foreign ExchangeUVA10340: All in All(水题)
- DataList分页技术-- PagedDataSource类实现DataList和Repeater的分页效果
- 支付宝新版SDK-PC扫码支付-手机浏览器H5支付
- Android百度云推送接入,附完整代码