前端面试江湖--笔记4

1,什么是JS的原型模型及原型链?

原型模型的主要思想是,先借用已有系统作为原型模型,通过不断改进“样品”,使得最后的产品就是用户所需要的。原型链一般在定义构造函数时用到,可以认为是针对构造函数的或者说是针对构造函数对应的类的。javascript没有对应继承的关键字,所以用原型链来模拟继承的效果。,

2,定时器、延时器

进入页面6秒后,弹出say,之后1秒弹出一次say。setTimeout()函数只执行一次

setTimeout()函数  只执行一次

3,this和a是什么?

this代表函数运行时,自动生成的一个内部对象,只能在函数内部使用。随着函数使用场合的不同,this值会发生变化。但有一个总的原则,就是this指向调用函数的那个对象

this并不指向函数  而是指向调用它的对象

4,这段代码中this和undefined的作用

因为ECMAScript是从里到外执行JS代码的,因此把全局变量window或jQuery对象传进来,就避免了到外层去寻找,从而提高了效率。undefined在老一辈的浏览器是不被支持的,直接使用会报错,JS框架要考虑到兼容性,因此增加一个形参:undefined。

5,IE和标准DOM的事件模型有什么不同?

IE内核的浏览器事件模型是冒泡型事件。切记!IE的内核是没有捕获事件过程的,那么在DOM标准的浏览器中,多了个事件捕获过程。事件的注册机制:DOM标准的浏览器事件是通过addEventListener()方法注册的,而IE内核的浏览器则是通过attachEvents()方法注册的。

6,如何为元素绑定多个事件,要求同时支持Firefox和IE

兼容Firefox与IE

7,当浏览器窗体大小发生变化时,哪个事件将会被触发?

触发的事件window.resize。事件指定代码:window.onresize=function () {}

8,JS中mouseover与mouseenter,mouseout与mouseleave的区别

mouseover与mouseenter区别: 不论鼠标指针穿过被选元素或其子元素,都会触发 mouseover事件。只有在指针穿过被选元素时,才会触发 mouseenter事件。

mouseout与mouseleave区别 :  不论鼠标指针穿过被选元素或其子元素,都会触发  mouseout 事件。只有在指针穿过被选元素时,才会触发 mouseleave 事件。

















你可能感兴趣的:(前端面试江湖--笔记4)