mJS 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
mJS 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票

软件简介

mJS 是一个用于 C/C++ 的嵌入式 JavaScript 引擎,专为资源有限的微控制器而设计。其主要设计目标是:占用资源小、简单的 C/C++ 互操作性。

mJS 实现了 ES6 的严格子集:

  • 任何有效的 mJS 代码都是有效的 ES6 代码。
  • 任何有效的 ES6 代码不一定是有效的 mJS 代码。

在 32 位 ARM mJS 引擎上,需要大约 50k 的闪存和少于 1k 的 RAM。

此外,mJS 是 Mongoose OS 的一部分,可在其中为 IoT 设备编写脚本。

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (6)

加载中
阉割版的 No standard library. No String, Number, RegExp, Date, Function, etc. JSON.parse() and JSON.stringify() are available. No closures, only lexical scoping (i.e. nested functions are allowed). No exceptions. No new. In order to create an object with a custom prototype, use Object.create(), which is available. Strict mode only. No var, only let. No for..of, =>, destructors, generators, proxies, promises. No getters, setters, valueOf, prototypes, classes, template strings. No == or !=, only === and !==. mJS strings are byte strings, not Unicode strings: 'ы'.length === 2, 'ы'[0] === '\xd1', 'ы'[1] === '\x8b'. mJS string can represent any binary data chunk.
04/16 22:40
回复
举报
quickjs 不香吗?~
03/31 11:33
回复
举报
+1
04/01 00:30
回复
举报
RGW
quickjs 占用资源太多, 没几个单片机受的了.
04/07 22:51
回复
举报
https://github.com/scriptiot/evm 超轻量物联网虚拟机
04/09 09:35
回复
举报
天戴其苍地履其黄,JavaScript其道大光
03/31 08:28
回复
举报
更多评论
暂无内容
发表了博客
2014/07/14 10:20

为wordpress后台添加菜单页面以并引入js

为wordpress后台添加菜单页面以并引入js

0
0
发表了博客
2019/10/14 11:24

ES6 module (了解案例)

一个模块,就是一个对其他模块暴露自己的属性或者方法的文件。 ES6 模块主要由两个命令构成:export和import。 export命令:规定模块的对外接口。一条export语句声明一次,一个文件中可有多条。 import命令...

0
0
发表了博客
2019/09/25 08:43

ES6的JavaScript或者是JS模块的运行方法

我的最新博客在:Secret_wu's coding note (新增强推)如果想在Visual Studio Code编译器,要配置ES6的JavaScript运行环境可以参考:   我的另一篇博文:配置ES6的JavaScript运行环境-Visual Studio Code 运行ES6代码(或模块)的方法: 1、可以使用Babel转码器,把ES6的JS转码成Node.js的CommonJS。   如,在安装好...

0
0
发表了博客
02/02 22:13

Node.js 中使用 ES6 中的 import / export 的方法大全

转自原文 Node.js 中使用 ES6 中的 import / export 的方法大全, 2018.11 如何在 Node.js 中使用 import / export 的三种方法, 2018.8 nodejs_es6_tutorials 因为一些历史原因,虽然 Node.js 已经实现了 99% 的 ES6 新特性,不过截止 2018.8.10,How To Enable ES6 Imports in Node.JS 仍然是老大难问题 下面我来介绍三种...

0
0
发表于AI & 大数据专区
2018/10/26 18:07

DC/OS 1.12 正式发布—支持多集群Kubernetes与数据服务的跨云部署

为了在激烈的市场竞争中占据优势,企业必须拥有足够敏捷的IT基础设施,以快速应对不断变化的业务需求。 今天,我们正式发布: Mesosphere DC/OS 1.12 。DC/OS 1.12是增强版的云平台,可以使得企业在多个云端以及边...

0
0
发表了博客
2018/04/10 11:01

Kibana6.x.x源码分析--import相关说明

/** * 模块的引入规则: * 不带路径的去node_modules中去找; * 带路径的去相应的路径中去找; * 模块可以不加后缀名,node会依次尝试.mjs、.js、.json、.node 这四个后缀 * 如果找不到文件回去package.json中加载main属性对应的脚本,如果package.json * 中不存在main属性,那么就尝试加载与这个文件同名的文件夹下的i...

0
0
发表了博客
2018/10/16 22:37

create-react-app+antd+less开发环境基础配置方法

Step1:使用create-react-app建立项目 1. yarn create react-app my-test-app Step2:暴露webpack配置 1. 在my-test-app目录下执行:yarn eject (无法启动的话,删除node_modules目录与yarn.lock后重新执行yarn) 2. 执行完毕后可以看到项目中多了一些文件夹,进入config目录可以找到webpack.config.js,即我们之后需要修...

0
0
发表于DevOps专区
01/23 10:13

DC/OS 1.12 正式发布—支持多集群Kubernetes与数据服务的跨云部署

为了在激烈的市场竞争中占据优势,企业必须拥有足够敏捷的IT基础设施,以快速应对不断变化的业务需求。 今天,我们正式发布: Mesosphere DC/OS 1.12 。DC/OS 1.12是增强版的云平台,可以使得企业在多个云端以及边...

0
0
发表了博客
2019/01/03 18:05

ES6(二十三)Module 的加载实现

上一章介绍了模块的语法,本章介绍如何在浏览器和 Node 之中加载 ES6 模块,以及实际开发中经常遇到的一些问题(比如循环加载)。 浏览器加载 传统方法 HTML 网页中,浏览器通过<script>标签加载 JavaScript 脚本。 <!-- 页面内嵌的脚本 --> <script type="application/javascript"> // module code </script> ...

0
0
发表了博客
06/10 11:59

Nodejs中ES Modules如何操作运用?本文详解

2020-05-26 Nodejs v12.17.0 LTS 版发布,去掉 --experimental-modules 标志。 1、虽然已在最新的 LTS v12.17.0 中支持,但是目前仍处于 Stability: 1 - Experimental 实验阶段,如果是在生产环境使用该功能,还应保持谨慎,如果在测试环境可以安装 n install v12.17.0 进行尝试。 2、删除标志也是将 ESM 变为稳定性而迈...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
6 评论
57 收藏
分享
返回顶部
顶部