前端面试题(1)-----JavaScript

什么是事件代理(事件委托)?好处?

​ 事件代理( Event Delegation),又称为事件委托,是JavaScript中绑定事件常用的技巧,“事件代理”就是把原本需要绑定的事件,委托给父元素,让父元素负责事件监听,事件代理的原理是DOM元素的事件冒泡,使用事件代理的好处是可以是可以提高性能。

​好处:减少事件数量,提高性能

​预测未来元素,新添加的元素仍然可以触发该事件

避免内存泄漏,在低版本ie中,防止删除元素而没有移除事件造成的内存泄露。

说说你对原型( prototype )的理解。

​javaScript 是一种通过原型实现继承的语言,它与别的高级语言是有区别的,例如Java. C#是通过类型决定继承关系的,JavaScript 是动态的弱类型语言。总之,可以认为JavaScript中所有数据都是对象。在JavaScript中,原型也是一个对象,用原型可以实现对象的属性继承,JavaScript 的对象中都包含了一个"prototype"内部属性,这个属性所对应的就是该对象的原型。

作为对象的内部属性,"prototype"是 不能直接访问的。所以,为了方便查看对象的原型,Firefox 和Chrome内核的JavaScript 引擎中提供了"_ proto_ "这个非标准的访问器(ECMA新标准中引入了标准对象原型访问器"bjctgtPrototypelobiject)" ).

原型的主要作用就是实现继承与扩展对象

阻止事件冒泡的方法:

​ 包括兼容ie和标准浏览器,下面给出示例代码:

function stopBubble(e){

​ var evt =e||window.event,

​ evt.stopPropagationg ? evt.stopPropagatlont( ) : (evt.cancelBubble-true);

​ }

posted @ 2020-08-20 08:44  跑了一个圈  阅读(87)  评论(0)    收藏  举报