1.cookie有什么弊端?
答:
cookie兼容的所有浏览器,但其存储的数据是有大小限制的,一般同源是4kb;
cookie本地存储的数据会被发送到 服务器(所以建议在服务器环境下使用cookie);
存在跨域访问问题,浪费宽带等
2.怎么阻止冒泡和浏览器默认事件?
答:
—标准浏览器:阻止冒泡e.stopPropagation()
阻止默认事件e.preventDefault()
—ie浏览器:阻止冒泡e.cancleBubble=true
阻止默认事件e.returnValue=false
3.什么是块级作用域,什么是函数作用域?
答:
块级作用域:ES5中没有块级作用域;ES6的作用域,任何一对花括号中的语句集都属于一个块,在这之中定义的所有变量在代码块外都是不可见的,我们称之为块级作用域。
函数作用域:函数作用于针对于局部变量来说的,在函数中定义的变量在函数外不能获取。
4.什么是面向对象编程,三个属性是什么?
答:
面向对象编程是一种编程开发思想。它将真实世界各种复杂的关系,抽象为一个个对象,然后有对象之间的分工与合作,完成对真实世界的模拟。每一个对象都是功能中心,具有明确分工,可以完成接受信息、处理数据、发出信息等任务。因此,面向对象编程具有灵活、代码可复用、高度模块化等特点,容易维护和开发,比起由一系列函数或指令组成的传统的过程式编程,更适合多人合作的大型软件项目。
三个属性:封装、继承、多态
5.我声明了一个构造函数,调用的时候 我写new和没有写new有什么区别?
答:
任何函数,如果不通过new操作符来调用,就是直接执行函数体。
如果使用new调用,则不单执行函数,还会返回个实例对象。以这种方式调用构造函数实际上会经历以下4个步骤:
(1)创建一个新对象;
(2)将构造函数的作用域赋给新对象(因此this就指向这个新对象);
(3)执行构造函数中的代码(为这个新对象添加属性);
(4)返回新对象。
6.前端调试bug都有哪些方法?
答:
断点调试
console.log调试
检测dom事件执行顺序
打开控制台css 调试
7.怎么实现图片懒加载
参考于:
https://www.jianshu.com/p/6d3e38728c10
答:
定义:当打开一个有很多图片的页面时,先只加载页面上看到的图片,等滚动到页面下面时,再加载所需的图片。这就是图片懒加载
作用:减少或延迟请求数,缓解浏览器的 压力,增强用户体验
实现方式:设置图片src属性为同一张图片,同时自定义一个data-src属性来存储图片的真实地址,页面初始化显示的时候或者浏览器发生滚动的时候判断图片是否在事业中,当图片在视野中时,通过js自动改变该区域的图片的src属性为真实地址。
小作者在持续更新中…