gpt4 book ai didi

javascript - 在 Javascript VM 之上编写另一种语言?

转载 作者:行者123 更新时间:2023-11-30 13:38:01 25 4
gpt4 key购买 nike

我想知道是否有可能在 Javascript VM 之上编写一种新语言,以便您可以嵌入您的语言 - 它基于 javascript - 并且它可以与 native javascript 一起工作。

例子:

var person_exists = true; // native js

Animal eats banana // my language

console.log(person_exists) // native js

我看过 Cappuccino 的语法,他们说它可以在浏览器中运行而无需编译。

但后来我看到了 Coffeescript 的语法,那必须先编译成 javascript。

那么是否有可能在 Javascript VM 之上创建一种新的语言/javascript 语法?

如果是,是否有关于如何执行此操作的教程/书籍?

最佳答案

Processing.js是一种由 Javascript 解释的脚本语言(据我所知是解释的,而不是编译为 JS),你可以看看那个方法。 Processing.js 专为在网页上生成图形而量身定制,因此它可能不是您所需要的,但它是在一个网站上使用两种脚本语言的示例。

(Processing 是一种独立的图形语言,它首先在 Java 环境(以及其他实现)中运行,然后才构思出 Canvas 元素并进行了另一种基于 Javascript 的实现。)

您似乎想要的是“具有我自己的功能的 Javascript”。这只有在您(或其他人)在 Javascript 之上构建 JS+您的功能解释器时才有可能。不过,我认为这不是一件非常合理的事情。 Processing.js 的解决方案可能是一个很好的中间地带,您可以将自己的语言与实际的 Javascript 分开 - 也就是说,如果您的语言和常规 JS 可以分开。

<script language="javascript">
var person_exists = true; // native js
interpret("animal"); // your language interpreter. Interpret function looks through the DOM for a script tag with the "myscript" language and the 'animal' ID.
console.log(person_exists) // native js
</script>
<script language="myscript" id="animal">
Animal eats banana // your language
</script>

不过,我建议在跳到“我知道,我会开发自己的语言!”之前先考虑一下您“真正”想要的是什么!部分。怎么了

Animal = {
eats: function(fruit) {
console.log('om nom nom nom ' + fruit);
}
};

var person_exists = true;
Animal.eats(banana);
console.log(person_exists);

例如?

关于javascript - 在 Javascript VM 之上编写另一种语言?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3785812/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com