前端面经(7)

1.为什么会有虚拟DOM?

        虚拟dom的作用是:以js的形式在内存中描述dom结构,当页面内容发生变化时,对前后虚拟dom进行对比,计算如何以最小代价操作真实dom,在完全不访问真实dom的情况下,掌握dom结构。

        webcore中有个html模块,代表html引擎,负责解析html文档,并解析成一颗dom树,webkit中默认有个js引擎,负责执行js代码的,具有操作dom树的能力,但是从浏览器内核的结构中看,js引擎是不可以直接操作dom树的,需要借助浏览器中的dom接口来操作真实dom,这样代价就会很大,而且会引起重绘,所以产生了虚拟dom。

2.数组、链表和列表的区别

数组:

1)所占用的内存是一块连续的区域

2)在使用前需要提前申请所占内存的大小

3)在数组的起始位置,插入和删除的效率都很低

4)随机访问的效率高

链表:

1)所占用的内存不是连续的

2)链表有两个属性,第一个是但前元素的值,第二个是个指针,指向下一个元素

3)在任意位置插入、删除效率高

4)查找数据时效率低

数组和列表的区别:

1)数组可以存储任意数据类型,而列表只能存储引用数据类型

2)数组中元素的类型须保持一致,而列表中不一定

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值