当前位置: 首页 > news >正文

高陵县建设局网站pc三合一网站

高陵县建设局网站,pc三合一网站,谷歌搜索引擎优化,阿里云模板建站上一章我们讲了V8如何存储的对象#xff0c;其中提到了隐藏类#xff0c;这一章我们来看看隐藏类到底做了什么。 为什么要讲V8#xff1f;#xff1f;#xff1f;#xff1f; 隐藏类是V8引擎在运行时自动生成和管理的数据结构#xff0c;用于跟踪对象的属性和方法 隐藏…上一章我们讲了V8如何存储的对象其中提到了隐藏类这一章我们来看看隐藏类到底做了什么。 为什么要讲V8 隐藏类是V8引擎在运行时自动生成和管理的数据结构用于跟踪对象的属性和方法 隐藏类的思想借鉴了静态语言的结构 function Person (name,age) {this.name name;this.age age; }let xiaoman new Person(小满,24)c #include iostream #include stringstruct Person {std::string name;int age; };int main() {Person xiaoman;xiaoman.age 18;xiaoman.name 小满;std::cout name: xiaoman.name std::endl;std::cout age: xiaoman.age std::endl;return 0; }首先在JavaScript运行时例如xiaoman.age 去查询 age 上节课我们讲过 他会 通过快慢属性 去找 而且整个过程非常耗时。 而C就不同了C在声明一个对象之前需要定义该对象的结构c 代码在执行之前是需要被编译的编译的时候对象都是固定的也就是代码执行的时候 对象的形状是无法被改变的。 所以V8就引入了 隐藏类的概念 隐藏类 (Hiden Class) 隐藏类就是把JavaScript的对象也进行静态化我们假设这个对象不会删除和新增这样形状就固定了 满足条件之后V8就会创建隐藏类在这个隐藏类会创建对象的基础属性 在V8引擎中每个隐藏类都有一个编号map id用于唯一标识该隐藏类 举个例子假设我们有以下两个对象 let obj1 { name: 1, age: 2 }; let obj2 { name: 1, age: 2, address: 3 };这两个对象具有相同的形状即都有属性name和age但obj2还额外有一个属性address。V8会为它们生成两个不同的隐藏类 // 隐藏类1包含属性name和age HiddenClass_1 ├── map_id: 1 ├── property_names: [name, age] ├── transitions: {} └── prototype: Object.prototype// 隐藏类2包含属性name、age和address HiddenClass_2 ├── map_id: 2 ├── property_names: [name, age, address] ├── transitions: │ ├── a: HiddenClass_1 │ ├── b: HiddenClass_1 │ └── c: null └── prototype: Object.prototype可以看到隐藏类1包含属性name和age没有过渡表而隐藏类2包含属性name、age和address其中属性name和age的过渡表指向隐藏类1属性address没有过渡表表示该属性是新添加的 如果两个对象属性一样呢 如果两个对象具有相同的属性它们将共享同一个隐藏类。具体来说当两个对象的属性顺序和类型都相同时V8会为它们生成一个共享的隐藏类。 举个例子假设我们有以下两个对象 let obj1 { name: 1, age: 2 }; let obj2 { name: 1, age: 2 };这两个对象具有相同的形状即都有属性name和age且属性的顺序和类型完全一致。V8会为它们生成一个共享的隐藏类如下所示 HiddenClass_1 ├── map_id: 1 ├── property_names: [name, age] ├── transitions: {} └── prototype: Object.prototype可以看到隐藏类1包含属性name和age没有过渡表而且两个对象都共享这个隐藏类。 这种共享隐藏类的机制可以节省内存空间因为不同的对象可以共享相同的隐藏类结构。
http://www.yutouwan.com/news/226511/

相关文章:

  • 网站规划与建设与安全管理网站的建设费用预算策划书
  • 免费软件制作网站模板北京保障房建设项目网站
  • 如何利用网站做demo建设织梦网站模板
  • 响应式网站有哪些成都网站建设服务公司
  • seo推广公司网站模板绍兴seo淄博公司
  • 重庆做商城网站看上去高端的网站
  • python怎么做网站上海金山网站建设
  • 做团餐的企业网站一般通过东方众
  • 网站续费怎么做wordpress 增加js
  • 做交易网站什么开发语言网站跟app的区别是什么意思
  • 网站建设定制单wordpress高级破解主题
  • 合肥市城乡城乡建设局网站谷歌浏览器安卓版下载
  • 企业免费招聘人才网站网站建设推广优化
  • 购物网站开发方案代运营公司十大排名
  • 网站cms系统哪个好用阿里网站怎么做
  • 织梦做网站网易wordpress
  • 网站建设与开发做什么南京模板建站
  • 医院网站模板 html手机网站建设咨询电话
  • 学编程有用吗网站seo关键词排名优化
  • 企业网站建设需要哪些资料一个人免费观看视频播放
  • 海口建设网站深圳十大外贸公司排名
  • 网站如何吸引蜘蛛写男主重生做网站的小说
  • 沧县做网站商业授权书
  • 做外贸的网站有那些重庆市建设工程交易中心网站
  • 做网站的个人总结广州谷歌seo公司
  • 如何防止网站被注册大连在建项目
  • 网站建设计划书范本东莞行业网站建设教程
  • sns有哪些著名的网站有哪些三亚网上商城
  • 网站开发适合什么工作网络广告视频
  • 东营免费建网站没有网站如何做SEO推广有用吗