JavaScript基础面试题:(第四天)

目录

13.Javascript的事件流模型都有什么?

14.什么是事件委托?说一说事件代理,优缺点是什么?

15.说一下你对this的理解?

16.BOM 和 DOM 的关系


13.Javascript的事件流模型都有什么?

事件流:从页面中接收事件的顺序。也就是说当一个事件产生时,这个事件的传播过程,就是事件流。 事件流包括三个阶段:事件捕获、目标阶段、事件冒泡

JS事件流最早IE提出的是冒泡流,而网景提出的是捕获流,后来在W3C组织的统一之下,JS支持了冒泡流和捕获流。

但对于事件本身来说,目前大多数事件支持冒泡流

14.什么是事件委托?说一说事件代理,优缺点是什么?

事件委托又叫事件代理,利用事件冒泡的原理,原本绑定在子元素身上的事件,现在绑定在父元素身上,由父元素监听事件的行为。

优点:

1.可以减少事件注册,节省大量内存占用

2.可以将事件应用于动态添加的子元素上

缺点:

使用不当会造成事件在不应该触发时触发

应用场景:

如果我们有⼀个列表,列表之中有⼤量的列表项,我们需要在点击列表项的时候响应⼀个事件;

如果给每个列表项⼀⼀都绑定⼀个函数,那对于内存消耗是⾮常⼤的;

这时候就可以事件委托,把点击事件绑定在⽗级元素 ul 上⾯,然后执⾏事件的时候再去匹配⽬标元素

15.说一下你对this的理解?

this 的指向,是当我们调用函数的时候确定的。调用方式的不同决定了this 的指向不同

  1. 普通函数this在非严格模式下指向window,严格模式下指向undefined
  2. 构造函数this指向实例对象,原型对象里面的方法也指向实例对象
  3. 对象方法中的this指向该方法所属的对象
  4. 事件绑定方法中的this指向绑定该事件的对象
  5. 定时器函数的this指向window
  6. 立即执行函数中的this指向window

16.BOM 和 DOM 的关系

BOM全称Browser Object Model,即浏览器对象模型,主要处理浏览器窗口和框架。

DOM全称Document Object Model,即文档对象模型,是 HTML 和XML 的应用程序接口(API),遵循W3C 的标准,所有浏览器公共遵守的标准。

可以说,BOM包含了DOM(对象),浏览器提供出来给予访问的是BOM对象,从BOM对象再访问到DOM对象,从而js可以操作浏览器以及浏览器读取到的文档。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

星河路漫漫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值