答案参考: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