问题标签 [javascript-engine]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript-engine - JavascriptEngine 中的 Eval 将“a-gamma”作为单独的变量?有什么解决方案吗?
我正在尝试将变量存储为
但在评估时,它会抛出 gamma 未在变量中定义的异常。有什么解决办法吗?. 我被困住了!
double - 当被问及双打问题时,ScriptEngine 返回 5
我使用下面的代码来制作我的 scriptEngine。在我尝试进行包含双精度的计算之前,它工作得很好。下面的代码应该返回 30 而不是返回 5。我做错了什么还是 scriptEngine 不能做双打?
java - Nashorn JavaScript Invocable.getInterface 在 Web 应用程序中的类加载器中失败
我需要从 Java 代码中调用(使用 Nashorn)在 JavaScript 中定义的函数并传递一些参数。我没有使用 Invocable.invokeFunction("Foo", arg1, arg2),而是定义一个接口,然后请求 Invocable 生成它的实现,就像 Oracle在此处建议的那样,“嵌入 Oracle Nashorn”:
问题是,因为我在 Tomcat 中运行的 Web 应用程序中执行此操作,所以我的 Composer 由应用程序级类加载器加载,而 nashorn 类由扩展类加载器加载。所以 getInterface 失败说TypeError: Can not find a common class loader for ScriptObject and mypackage.Composer
任何想法如何克服?当然,我可以尝试在父类加载器中加载 Composer,假设它实际上是一个 ext 加载器(类似于 hack),但至少存在一个问题:它找不到我的类。我想这是对的:我的包驻留在我的 Web 应用程序中,而扩展加载器不在那里。还有什么好主意吗?
PS 现在我注意到这条消息很奇怪:如果一个应用程序类加载器委托给 ext 类加载器,那么后者当然是它们的通用类加载器。也许他们试图说目标接口的类加载器必须等于实际实现的类加载器,或者实现的类加载器必须委托给目标的类加载器(反之亦然)?
javascript - 在 V8 中,null、undefined 和 boolean 等原始类型如何存储在内存中?
是否boolean
在内存中存储为 32 位整数?null
值呢?
在《Speaking Javascript 》一书中,它指的是一种类型标签,用于指示存储在内存中的值的类型。例如,类型的类型标签Object
是 000。什么是类型标签?
如何找到值类型的类型标记,例如 aboolean
或string
?
javascript - Javascript中的函数声明函数fx(){}是LHS还是RHS查找?
我正在阅读Kyle Simpson的You don't know JS的Scopes and Closure标题,特别是这个主题Compiler Speak。本节介绍引擎使用的查找类型。现在我在本节给出的范围内了解什么是 LHS 或 RHS 查找。
我的问题是说明表单的函数声明function fx(a) {..
不是 LHS 查找。有相同的解释,但我无法理解。这是整个笔记
您可能很想将函数声明函数概念化
foo(a) {...
为普通的变量声明和赋值,例如var foo
andfoo = function(a){...
。这样做时,很容易将此函数声明视为涉及 LHS 查找。然而,微妙但重要的区别在于,编译器在代码生成期间同时处理声明和值定义,这样当引擎执行代码时,不需要处理将函数值“分配”给foo
. 因此,以我们在这里讨论的方式将函数声明视为 LHS 查找分配是不合适的。
任何形式的澄清都会有所帮助。即使在 LHS 和 RHS 查找中。
javascript - 从 Java 传递的 Nashorn 和 'with' 上下文
我正在努力nashorn
阻止with
。我想从java中传递'context'HashMap
并在我的代码中使用它。但是,我无法让这个工作。
JS 被评估
Java 地图将被“通过”
下面我准备了简短的课程来演示我面临的错误。
感谢您的任何帮助。
javascript - 是否可以从 Chrome 应用程序/扩展程序调用本机按键和鼠标移动
就像 java.awt.Robot 或 RobotJS 一样。
再一次,我实际上需要从 Chrome 应用程序/扩展程序中移动鼠标并按下键(不仅仅是普通的网站,知道这是不可能的)?
javascript - 检测 HTML 元素是否分配了 javascript 函数
我正在开发一个 Windows 窗体应用程序来解析和分析网页。我使用了网络浏览器控件。该网页有 html 和 javascript 代码波纹管。我的 windows 窗体有 c# 代码。这是代码:
HTML 代码:
Javascript:
导航相关 URL 后,我的 Windows 窗体应用程序中的 C# 代码:
这样,在检查每个元素的相关字符串后,我可以确定该元素是否已分配 javascript 函数。这适用于 el1 和 el2,但它为 el3 返回空字符串。
我怎么知道第三个元素使用 addEventListener 分配了 javascript 函数?
node.js - 如何从 nodejs 检测它正在运行哪个 JavaScript 引擎?
现在有几个 nodejs 的分支,其中一些支持谷歌 V8 引擎以外的 JavaScript 引擎。
为了让我的节点代码查看它在哪个 JS 引擎下运行,目前最好的方法是什么?
我知道的引擎是:
- Google 的V8 - 官方node.js和iojs fork支持的唯一引擎。JXcore支持的引擎之一。
- Mozilla 的SpiderMonkey - JXcore支持的引擎之一。
- Microsoft's ChakraCore - Microsoft的 node.js 端口支持的引擎,显然是JXcore支持的引擎之一,尽管我还没有让那个引擎工作。
(我问了一个单独的问题,关于检测正在使用哪个分叉的 nodejs。这个问题只是关于检测 JS 引擎。)
java - 致命异常 NoClassDefFoundError
在 Android 中我想执行一个脚本。所以我添加了 JavaScript 引擎
http://www.java2s.com/Code/JarDownload/jsr223/jsr223.jar.zip
我的 gradle(模块:app) 说:
如果我正在运行应用程序并单击初始化脚本引擎的按钮,则会出现以下错误。
任何想法如何解决?