JavaScript参考手册
SIMD
SIMD.Bool64x2
SIMD.js已经从TC39中取消了积极的开发,并从第三阶段中删除了。它不再被网页浏览器所追求。暴露在 web 上的SIMD 操作在 WebAssembly 中正处于积极的发展之中, 其操作基于 SIMD. js 操作。
注意:Bool64x2类型目前不是SIMD规范草案的一部分。
SIMD.Bool64x2
数据类型是一个128位的向量,分成2条通道存储布尔值。
语法
SIMD.Bool64x2(x, y);
参数
x
可选的
一个 boolean布尔值,指定第一个通道的值。默认为false
。
y
可选的
一个 boolean布尔值,指定第二个通道的值。默认为false。
构造函数
除了简单的构造函数之外,SIMD API还提供以下构造函数:
SIMD.Bool64x2.splat()
创建一个Bool64x2,将所有通道设置为给定值。
注意: SIMD类型与new不起作用,因为SIMD值不是“盒装”对象(可参考 String(s) 与 new String(s) 创建 String对象 的比较)。
var v = new SIMD.Bool64x2(true, false);
// TypeError: SIMD.Bool64x2 is not a constructor
var w = new SIMD.Bool64x2.splat(true);
// TypeError: SIMD.Bool64x2.splat is not a constructor
与之替代的是:
var v = SIMD.Bool64x2(true, false);
var w = SIMD.Boolt64x2.splat(true);
运算
要在 simd 类型中实际执行某些操作, 需要使用 simd 数据类型。
检查SIMD类型
SIMD.Bool64x2.check()
如果参数是有效的Bool64x2数据类型,则返回新的Bool64x2。TypeError
否则抛出。
访问和变换通道
SIMD.Bool64x2.extractLane()
返回给定通道的值。SIMD.Bool64x2.replaceLane()
返回已替换给定通道值的新Bool64x2。
布尔运算
SIMD.Bool64x2.allTrue()
检查是否所有通道都有true
值。SIMD.Bool64x2.anyTrue()
检查任何通道是否true
有值。
按位逻辑操作
SIMD.Bool64x2.and()
返回一个新的Bool64x2,其逻辑和为通道值(a & b
)。
SIMD.Bool64x2.or()
返回一个新的Bool64x2,其逻辑或为通道值(a | b
)。
SIMD.Bool64x2.xor()
返回一个新的Bool64x2,其中包含通道值(a ^ b
)的逻辑XOR 。
SIMD.Bool64x2.not()
返回一个新的Bool64x2,其值为逻辑非通道值(~a
)。
SIMD原型
下面的方法和属性被安装在SIMD.Bool64x2.prototype
。
SIMD.Bool64x2.prototype.constructor
指定创建SIMD对象原型的函数。
SIMD.Bool64x2.prototype.toLocaleString()
返回表示SIMD类型及其元素的本地化字符串。重写该Object.prototype.toLocaleString()
方法。
SIMD.Bool64x2.prototype.toString()
返回表示SIMD类型及其元素的字符串。重写该Object.prototype.toString()
方法。
SIMD.Bool64x2.prototype.valueOf()
返回SIMD对象的原始值。
SIMD.Bool64x2.prototype.toSource()
返回表示对象源代码的字符串。重写该Object.prototype.toSource()
方法。
例子
构建一个Bool64x2
SIMD.Bool64x2(true, false); // Bool64x2[true, false]
SIMD.Bool64x2(1); // Bool64x2[true, false]
SIMD.Bool64x2(); // Bool64x2[false, false]
规范
Bool64x2类型目前不是SIMD规范草案的一部分。
浏览器兼容性
Feature |
Chrome |
Firefox (Gecko) |
Internet Explorer |
Opera |
Safari |
---|---|---|---|---|---|
Basic support |
No support |
Nightly build |
No support |
No support |
No support |
Feature |
Android |
Chrome for Android |
Firefox Mobile (Gecko) |
IE Mobile |
Opera Mobile |
Safari Mobile |
---|---|---|---|---|---|---|
Basic support |
No support |
No support |
Nightly build |
No support |
No support |
No support |
SIMD相关

JavaScript 是一种高级编程语言,通过解释执行,是一门动态类型,面向对象(基于原型)的解释型语言。它已经由ECMA(欧洲电脑制造商协会)通过 ECMAScript 实现语言的标准化。它被世界上的绝大多数网站所使用,也被世界主流浏览器( Chrome、IE、FireFox、Safari、Opera )支持。JavaScript 是一门基于原型、函数先行的语言,是一门多范式的语言,它支持面向对象编程,命令式编程,以及函数式编程。它提供语法来操控文本、数组、日期以及正则表达式等,不支持 I/O,比如网络