V8 的 Hidden Class
function Class(val) {
this.prop = val;
}
var a = new Class('foo');
var b = new Class('bar');
b.prop2 = 'baz'; // 另外加的属性 prop2
Class 的私有属性应该在一开始就设置好,不要在使用过程中再添加,否则会降低 V8 执行 JavaScript 的性能。因为另外加的属性会使用 V8 重新设置 Hidden Classes
参考:
V8 Hidden class
https://segmentfault.com/l/1500000008618265/play
文中图片可能来自网络,侵删
Leave a comment