![]() |
1
7
|
![]() |
2
14
这个
CoffeeScript
编译器将CoffeeScript编译为ECMAScript。由于CoffeeScript编译器本身是用CoffeeScript编写的,所以它可以将自己编译为ECMAScript,从而在浏览器中运行。支撑所需的零件
一般来说, 任何 语言可以编译成ECMAScript,只需要一个编译器。而且,自从 任何 语言可以编译为ECMAScript,任何 编译程序 可以编译为ECMAScript,您只需要一个该语言的编译器 那个 编译器已写入。 这导致在浏览器中编译语言的可能性组合爆炸。 例如,有个家伙写 C compilers which target high-level languages 为了好玩。他有一个编译器,可以将C编译成Java、Perl、Common Lisp、Lua或ECMAScript。所以,你可以用 那个 编译任何 其他 用C编写的编译器。而且大多数语言都有一些用C语言编写的编译器。
Clue是用C编写的。Clue将C编译成ECMAScript。因此,可以使用Clue将Clue编译为ECMAScript。然后,您可以在浏览器中运行Clue,将C动态编译为ECMAScript。
更重要的是:编译为ECMAScript通常有三个原因:
如果只想重用用不同语言编写的现有代码(或用不同语言编写的现有knowlwedge),那么在客户机上编译/解释就没有多大意义。代码或代码编写者不希望能够使用
如果(类型-)安全是您的目标,那么在客户机上编译/解释根本不起作用:如果不控制编译器,您如何保证安全?这就是为什么 Ur/Web , Links , Flapjax , Haxe , Caja 这样就可以在服务器上编译代码了。它们通过静态类型或紧密集成或两者兼而有之来保证安全性。(通过紧密集成,我的意思是后端、前端和应用程序紧密相连,例如通过指定数据结构 一旦 然后从单一源生成相应的SQL、ECMAScript和HTML表单,以确保它们都匹配。很明显,这需要在服务器上进行处理。)
然而,那些专注于表现性的人,希望被用作ECMAScript的替代品,即内部
|
![]() |
3
4
下面是一个将类似于ruby的语言编译成javascript的例子,编译可以在浏览器中完成。 |
![]() |
4
0
|
![]() |
Softly · 单选按钮未按预期取值 1 年前 |
|
SlickRed · 我无法使用JS关注HTML元素 1 年前 |
![]() |
assembler · Nextjs没有处理发布请求 1 年前 |
|
BADRUM · 执行两个获取功能后,如何导航回页面? 1 年前 |
![]() |
Toniq · javascript为php保存多维数组 1 年前 |