SpiderMonkey

JavaScript脚本引擎
授权协议 MPL
开发语言 C/C++ JavaScript
所属分类 Web应用开发、 浏览器/JS引擎
软件类型 开源软件
地区 不详
投 递 者 衡翰藻
操作系统 跨平台
开源组织 Mozilla
适用人群 未知
 软件概览

SpiderMonkey是Mozilla项目的一部分,是一个用C语言实现的JavaScript脚本引擎,另外还有一个叫做Rhino的Java版 本。

为了在SpiderMonkey中运行JavaScript代码,应用程序必须有三个要素:JSRuntime,JSContext和全局对象。
运行时环境

JSRuntime,为其中的JavaScript变量、对象、脚本和应用程序中使用的上下文分配空间。每个JSContext和脚本中的每个对象都生活在一个 JSRuntime中。他们不能转移到其他运行时上或在与其它运行时共享。一般来说大多数应用程序只需要一个运行时环境。
上下文

JSContext,就像是一台小机器,它涉及JavaScript代码和对象的很多东西。它可以编译和执行脚本、获取和设置对象属性、调用 JavaScript函数、一种类型转换为另一种JavaScript数据、创建对象,等等。几乎所有JSAPI函数都要一个JSContext*作为其第一个参数,就像<stdio.h>中的大多数函数都需要FILE*一样.
全局对象

全局对象包含所有可以在JavaScript代码中使用的类、函数和变量。

当JavaScript代码要做一些事时,比如window.open("http://www.mozilla.org/"),实际上它是在访问一个全局属性(全局对象的属性),在这里是window。

脚本能看到的全局属性完全由应用程序控制。应用程序首先创建一个对象并加入JavaScript标准类,如Array和Object。然后加入任何程序想加入的自定义的类、函数和变量(象这里的window)。应用程序每次运行js脚本(例如使用JS_EvaluateScript)时提供了该脚本使用的全局对象。至于脚本,它也可以创建自己全局函数和变量。所有的这些函数、类和变量都作为属性存储在全局对象中。

  • /* 摘要:在你的代码中嵌入JS引擎 */ // 下载获得js-1.60.tar.gz的tarball并解压,下载地址:http://ftp.mozilla.org/pub/mozilla.org/js/ // 用vc6打开src目录下的js.mdp,vc6会提示你转换到新版的dsp,确定会得到3个dsp工程文件; // 设定这三个工程为活动工程,从上往下先设定Active Project为JS

  • 介绍     SpiderMonkey是Firefox使用的脚本引擎,V8是Google Chrome使用的脚本引擎。这篇文章介绍了怎样在自己的C++程序中嵌入这两种脚本引擎,以及简单做了一些横向的对比。   编译 SpiderMonkey                                                                                

  • 四大主流JS引擎安装教程 参考网址: https://github.com/sslab-gatech/DIE/tree/master/engines 安装步骤: ./download-engine.sh ch 1.11.5 ./download-engine.sh jsc 2.23.3 ./build-ch.sh 1.11.5 ./build-jsc.sh 2.23.3 脚本含义: ./dow

  • 集成spiderMonkey 文档 :https://developer.mozilla.org/En/SpiderMonkey/JSAPI_User_Guide https://developer.mozilla.org/en/How_to_embed_the_JavaScript_engine 一、hello world基本流程: JS_NewRuntime JS_NewContext JS_

  • 听过Mozilla(火狐浏览器的娘家)的javascript引擎吗?感兴趣吗?想在windows平台的应用开发中使用这个引擎吗? 肯定? 好,往下看! 本文给出Windows平台SpiderMonkey的32位和64位静态库编译方法   WINDOWS-SpiderMonkey 32 位Release 静态库,开心吧? 网上2017 年以前的例子,你不一定能编译的过!哈哈 本文是2017 年8 月

  •      Spidermonkey是火狐的js引擎。我曾经仔细比较过C++嵌入Spidermonkey和v8,最终因为对多线程并行比较执着,于是最终选择了Spidermonkey。网上流传的关于Spidermonkey引擎的用法大多还停留在1.8.5版本。随着更新迭代,高版本的js引擎更快更符合js标准也更好用,但相关资料比较少,官网文档更是惨不忍睹几乎和没有文档一样。      最近我接触到了d

  • http://blog.csdn.net/helloaya/article/details/4601673 1. 下载js-1.7.0.tar.gz, 解压 2. 进入src 3. 用文本编辑器打开 js.mak 4. 在314行和315行插入  "$(INTDIR)/jsiter.obj" /     LINK32_OBJS= / "$(INTDIR)/jsiter.obj" / "$(INTD

  • JavaScript是由Netscape开发的对象脚本语言,其特点是开发简单、功能灵活,目前已广泛应用于WEB页面及服务器应用程序中。HTML本身是静态的、不允许用户干预,但用JavaScript编写的脚本程序就可以在用户的浏览器端运行,可以同用户进行交互,从而实现动态页面。可以将JavaScript与嵌入WEB的大多数对象的事件(如鼠标点击、移动等)相关联,然后用自己的方式处理这些事件。Java

  • 今天使用mac编译spidermonkey的android库时遇到下面报错,可是从configure中没找到怎么把log库关联到编译环境中。求各位大大指点,感谢! configure参数设置如下: ../configure --with-android-ndk="/Users/xxx/.mozbuild/android-ndk-r15c" --disable-shared-js --with-an

  • 前言   这篇文章包含了对SpiderMonkey中Rooted<T>, Handle<T>的解释。   翻译自 https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey/GC_Rooting_Guide   原文中GC thing pointer不知如何翻译,故在此引用原文。   下面是原文的翻译。 简介   这

  •   SpiderMonkey是Mozilla项目的一部分,是一个用C语言实现的JavaScript脚本引擎,另外还有一个叫做Rhino的Java版本。   为了在SpiderMonkey中运行JavaScript代码,应用程序必须有三个要素:JSRuntime,JSContext和全局对象。   JSRuntime,为其中的JavaScript变量、对象、脚本和应用程序中使用的上下文分配空间。每个

  • SpiderMonkey是Mozilla项目的一部分,是一个用C语言实现的JavaScript脚本引擎,另外还有一个叫做Rhino的Java版本。 SpiderMonkey is Mozilla's JavaScript engine written in C and C++. It is used in various Mozilla products, including Firefox, a

  • liunx安装SpiderMonkey的操作过程!~ http://hi.baidu.com/you5a_com/blog/item/3d5d6b4eaa4bcceed62afc60.html ruby-spidermonkey安装 2011-05-05 13:25 下载编译安装SpiderMonkey: wget http://ftp.mozilla.org/pub/mozilla.org/js

  • 原理: 通过JS_DefineFunctions函数, 向js注册函数. 1.添加头文件, 并定义宏 #include #include #include #include #define LOG_MINARGS 0 2.定义一个c函数 JSBool logging(JSContext *ConText, JSObject *object, uintN argc, jsval *argv, jsv

 相关资料
  • 一个非常小的script脚本引擎,可以同时在j2me / j2se / c++ platform上面运行 它的目标是使用这个脚本引擎便于开发一个更加灵活的j2me 游戏这个脚本有点像BASIC这东西不错,是一个开源的脚本引擎,大家可以学习里面的思想里面其中带了一个例子,是3子棋。感觉挺不错的。这东西在SF也挺活跃的。

  • 本文向大家介绍Oracle重建索引Shell脚本、SQL脚本分享,包括了Oracle重建索引Shell脚本、SQL脚本分享的使用技巧和注意事项,需要的朋友参考一下 索引是提高数据库查询性能的有力武器。没有索引,就好比图书馆没有图书标签一样,找一本书自己想要的书比登天还难。然而索引在使用的过程中,尤其是在批量的DML的情形下会产生相应的碎片,以及B树高度会发生相应变化,因此可以对这些变化较大的索引进

  • 该部分 API 将帮助您使用光环上的PIN角控制,诸如舵机、蜂鸣器、按钮这样的开源硬件。 省略代码中的halocode 注意:该部分 API 省略了“halocode.”,本篇提及的所有 API 均省略了“halocode.” ,如 led_driver.off( )实际为halocode.led_driver.off()。mBuild 电子模块平台的所有功能均维护在halocode库中,因此我们

  • 问题内容: 我想在Bash脚本中引发错误,显示消息“测试用例失败!!”。如何在Bash中做到这一点? 例如: 问题答案: 这取决于您要将错误消息存储在何处。 您可以执行以下操作: 或以下内容: 引发异常时,将停止程序的执行。 您还可以使用类似“ 哪里是您可能要返回到操作系统的错误代码”(从0到255)的方法。在这里,只是可以退出的随机代码。当您需要向OS指示程序异常停止(例如发生错误)时,您需要将

  • 问题内容: 我有一排如下所示的php代码: 我想知道如何为文本正确添加字体颜色。如果我这样做: “ red”一词为黑色,编译器将引发错误。 如果我在红色周围使用单引号,则文本根本不会显示。 任何帮助都会很棒。谢谢 问题答案: 您需要转义,因此它不会被解释为字符串的结尾。使用逃脱它:

  • 问题内容: 我有一排如下所示的php代码: 我想知道如何为文本正确添加字体颜色。如果我这样做: “ red”一词为黑色,编译器将引发错误。 如果我在红色周围使用单引号,则文本根本不会显示。 任何帮助都会很棒。谢谢 问题答案: 您需要转义,因此它不会被解释为字符串的结尾。使用逃脱它:

  • 我想在Bash脚本中引发一个错误,消息为“测试用例失败!!!”。如何在Bash中做到这一点? 例如:

  • 我正在使用Java8。我不是java专家(自从10年前上大学以来就没有研究过java) 我创建了一个ScriptEngine的实例(Nashorn,如果有必要的话)。我用它来评估几个javascript文件。 这个脚本在自己的小javascript世界里运行得非常愉快。我喜欢。 我还运行了一个文件系统监视服务,以防我的一些java脚本被修改。当它们被修改时,我创建一个新的ScriptEngine,