JS在线运行

版本:
运行结果
教程手册
代码仓库
极速运行
终端运行
图形+终端

                        
以下是用户最新保存的代码
监控mysql服务,一旦服务停止,就重启mysql。需运行开源程序hummingbird。下载地址:(https://gitee.com/QdbcShen/hummingbird/) 发布于:2023-10-01 07:15 js 工厂模式 发布于:2023-09-30 19:00 这是一段演示diamagnetic 发布于:2023-09-30 01:44 测试接口联调 发布于:2023-09-26 17:39 菜单展示架构配置化 发布于:2023-09-26 17:14 啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊 发布于:2023-09-25 09:37 选择排序算法 发布于:2023-09-24 17:40 冒泡排序算法 发布于:2023-09-24 17:39 利用蛮力法解决百鸡百钱问题 发布于:2023-09-24 17:38 百钱买百鸡问题 - 蛮力法求解 发布于:2023-09-24 15:29 冒泡排序与选择排序 发布于:2023-09-24 15:09 百鸡百钱问题 发布于:2023-09-23 19:52 给出一组关键字K={11,9,3,20,56,32} 发布于:2023-09-23 19:36 选择排序算法 发布于:2023-09-23 11:09 冒泡排序算法 发布于:2023-09-23 11:06 实现wifi断线重连。需运行开源程序hummingbird。下载地址:(https://gitee.com/QdbcShen/hummingbird/) 发布于:2023-09-21 10:07 事件循环 代码执行顺序 发布于:2023-09-21 09:34 第三周选择排序 发布于:2023-09-22 19:30 第三周冒泡排序 发布于:2023-09-22 19:45 找出1-10能被3整除的数 发布于:2023-09-20 19:43 冒泡排序,选择排序 发布于:2023-09-24 15:17 处理排序问题 发布于:2023-09-19 01:12 js 类的创建 发布于:2023-09-18 22:55 相应式(3) 嵌套的副作用函数 发布于:2023-09-17 13:56 响应式 (2) 分支切换和cleanup 发布于:2023-09-17 13:56 js调用CryptoJS解密 发布于:2023-09-16 00:24 相对路径转为绝对路径----ico相对路径、绝对路径转换(二) 发布于:2023-09-19 17:46 相对路径转为绝对路径(一) 发布于:2023-09-19 17:45 / 对版本数组 arr = ["2.0", "1.2.1", "1.3"] 进行升序,并计算圈复杂度 发布于:2023-09-14 20:26 JS实现嵌套对象的扁平化 发布于:2023-09-13 11:29 在有限整数序列中找到最大值的算法 发布于:2023-09-12 09:09 给定两个不等于0的整数M和N,求M和N的最大公约数 发布于:2023-09-11 23:03 设计模式实现 发布于:2023-09-12 20:47 给定两个不等于0的整数M和N,求M和N的最大公约数 发布于:2023-09-10 20:14 第三题:求两数之间的公约数 发布于:2023-09-24 17:28 在有限整数序列中找到最大值的算法 发布于:2023-09-09 19:59 temu 自动添加发货台 发布于:2023-09-09 21:40 temu 爬虫 发布于:2023-09-09 20:33 这个是单调盏的使用方法 发布于:2023-09-07 21:58 第一周实验代码 发布于:2023-09-12 20:25 JS求数组最大值 发布于:2023-09-11 15:18 js规格处理2 发布于:2023-09-05 17:53 (最简易版本2)js笛卡尔积生成商品SKU多规格算法 源自:http://www.hzhcontrols.com/new-1286125.html 发布于:2023-09-05 18:18 有限整数序列中找到最大值 发布于:2023-09-10 10:04 js排序测试 发布于:2023-09-02 10:06 # js模块测试 发布于:2023-08-31 18:11 物联js解析 发布于:2023-09-20 18:24 支持并发的调度器, 最多允许2任务进行处理 发布于:2023-08-31 15:18 使用document.documentElement获得html里id为str的元素 发布于:2023-08-30 16:26 [拼多多]高难度模板字符串匹配 发布于:2023-08-29 22:15 [更多]
显示目录

Smalloc



Smalloc

稳定性: 1 - 试验

类: smalloc

表示能够通过简单的内存分配器(处理扩展原始内存的分配)支持的缓存,可供Smalloc使用的函数如下所示:

smalloc.alloc(length[, receiver][, type])

  • length {Number} <= smalloc.kMaxLength
  • receiver {Object} 默认: new Object
  • type {Enum} 默认: Uint8

此函数的作用为返回包含分配的外部数组数据的receiver对象。如果没有传入receiver,则将会创建并返回一个新的对象。

这可以用来创建你自己的类似buffer的类。不会设置其他属性,因此使用者需要跟踪其他所需信息(比如分配的长度)。

function SimpleData(n) {
  this.length = n;
  smalloc.alloc(this.length, this);
}

SimpleData.prototype = { /* ... */ };

仅检查receiver是否是非数组的对象。因此,可以分配扩展数据数据,不仅是普通对象。

function allocMe() { }
smalloc.alloc(3, allocMe);

// { [Function allocMe] '0': 0, '1': 0, '2': 0 }

v8不支持给数组分配扩展数组对象,如果这么做,将会抛出。

你可以指定外部数组数据的类型,在smalloc.Types列出了可供使用的外部数组数据的类型,例如:

var doubleArr = smalloc.alloc(3, smalloc.Types.Double);

for (var i = 0; i < 3; i++)
  doubleArr = i / 10;

// { '0': 0, '1': 0.1, '2': 0.2 }

使用Object.freeze,Object.sealObject.preventExtensions不能冻结、封锁、阻止对象的使用扩展数据扩展。

smalloc.copyOnto(source, sourceStart, dest, destStart, copyLength);

  • source {Object} 分配了外部数组的对象
  • sourceStart {Number} 负责的起始位置
  • dest {Object} 分配了外部数组的对象
  • destStart {Number} 拷贝到目标的起始位置
  • copyLength {Number} 需要拷贝的长度

将内存从一个外部数组分配复制到另一个数组中,任何参数都是可选的,否则会抛出异常。

var a = smalloc.alloc(4);
var b = smalloc.alloc(4);

for (var i = 0; i < 4; i++) {
  a[i] = i;
  b[i] = i * 2;
}

// { '0': 0, '1': 1, '2': 2, '3': 3 }
// { '0': 0, '1': 2, '2': 4, '3': 6 }

smalloc.copyOnto(b, 2, a, 0, 2);

// { '0': 4, '1': 6, '2': 2, '3': 3 }

copyOnto将自动检测内部分配的长度,因此不需要设置任何附加参数。

smalloc.dispose(obj)

  • obj Object

释放通过smalloc.alloc给对象分配的内存。

var a = {};
smalloc.alloc(3, a);

// { '0': 0, '1': 0, '2': 0 }

smalloc.dispose(a);

// {}

这对于减轻垃圾回收器的负担是有效的,但是在开发的时候还是要小心,程序里可能会出现难以跟踪的错误。

var a = smalloc.alloc(4);
var b = smalloc.alloc(4);

// perform this somewhere along the line
smalloc.dispose(b);

// now trying to copy some data out
smalloc.copyOnto(b, 2, a, 0, 2);

// now results in:
// RangeError: copy_length > source_length

调用dispose(),对象依旧拥有外部数据,例如smalloc.hasExternalData()会返回truedispose()不支持缓存,如果传入将会抛出。

smalloc.hasExternalData(obj)

  • obj {Object}

如果obj拥有外部分配的内存,返回true

smalloc.kMaxLength

可分配的最大数量。则同样适用于缓冲区的创建。

smalloc.Types

外部数组的类型,包含: Int8 、Uint8 、Int16 、Uint16 、Int32 、Uint32 、Float 、Double 、Uint8Clamped

由JSRUN为你提供的JS在线运行、在线编译工具
        JSRUN提供的JS 在线运行,JS 在线运行工具,基于linux操作系统环境提供线上编译和线上运行,具有运行快速,运行结果与常用开发、生产环境保持一致的特点。