由于我所知道的浏览器当前没有实现ES6模块接口 - 但是转发器也是如此 - 我用这个简单的例子测试了babel
import { getUsefulContents } from "file.js";
getUsefulContents("http://www.example.com", data => {
  doSomethingUseful(data);
  });
Run Code Online (Sandbox Code Playgroud)
我只想看看它是如何改变这些界限的.令我惊讶的是它产生了以下输出:
"use strict";
var _fileJs = require("file.js");
(0, _fileJs.getUsefulContents)("http://www.example.com", function (data) {
  doSomethingUseful(data);
});
Run Code Online (Sandbox Code Playgroud)
最后一行看起来很神秘 - 尤其是那(0, _fileJs.getUsefulContents)部分,那里发生了什么?(0, ...)那条线上的目的是什么?
据我所知,大多数 Node.js 版本的每个进程的内存限制约为 1GB,基于以下信息:
目前,默认情况下,v8 在 32 位系统上的内存限制为 512MB,在 64 位系统上默认为 1.4GB。 https://github.com/nodejs/node-v0.x-archive/wiki/FAQ
这是一个旧档案,从那以后情况可能有所改善。然而,我感兴趣的是如果有人要使用
require('child_process').fork("newProcess.js")
Run Code Online (Sandbox Code Playgroud)
有可能克服这个限制吗?
因此,创建一个新的 V8 实例将为 JavaScript 对象创建一个新的内存池。
我问的原因是我找不到可靠的消息来源来准确确认这种情况,尽管文档强烈表明情况确实如此,因为它指出:
这些 Node.js 子进程仍然是 V8 的全新实例。
必须有一些非常优雅的方法使用Swift从某个索引开始复制数组的结尾,但我找不到它,所以我结束了这个:
func getEndOfArray<T>( arr : [T], fromIndex : Int? = 0) -> [T] {
    var i=0;
    var newArray : [T] = [T]()
    for item in arr {
        if i >= fromIndex {
            newArray.append(item)
        }
        i = i + 1;
    }
    return newArray // returns copy of the array starting from index fromIndex
}
Run Code Online (Sandbox Code Playgroud)
没有额外的功能有更好的方法吗?