面试时候遇到的笔试题

答案参考:https://www.cnblogs.com/tangyuchen/p/5821195.html

1.请编写一个通用的事件注册函数(请看下面的代码)。


function addEvent(element, type, handler)
{
    // 在此输入你的代码,实现预定功能
}

2. 

 1 <script>
 2   if (window.addEventListener) {
 3     var addListener = function(el, type, listener, useCapture) {
 4       el.addEventListener(type, listener, useCapture)
 5     }
 6   } else if (document.all) {
 7     addListener = function(el, type, listener) {
 8       el.attachEvent('on' + type, function() {
 9         listener.apply(el)
10       })
11     }
12   }
13 </script>

a) 代码的功能; 
b) 代码的优点和缺点; 
c) listener.apply(el) 在此处的作用; 
d) 如果有可改进之处,请给出改进后的代码,并说明理由。

3. CSS优化 代码忘记了。。

大概是省略标签、合并连写background,font之类的,这个比较简单,好像漏了一个

4. new 关键字的含义

  - 创建一个全新的对象

  - 这个对象会被执行[[原型链接]]

  - 这个对象绑定到函数调用的this

  - 如果函数没有返回非基本数据类型数据,则返回这个对象

后面是别人的题,自己有空看下

1.apply, call, bind的原理和区别;用apply来实现bind

2.forEach 和 findIndex 的原理和区别, 用ES3和原型链来实现

3.利用闭包实现module

原文地址:https://www.cnblogs.com/sphjy/p/11994583.html