9.28 考试
- 怪异盒模型与正常盒模型的区别
正常盒模型:外扩
怪异盒模型:内嵌
- 如何清除浮动
给父元素设置overflow:hidden
动态向父元素后面添加一个clear:both的块属性元素
BFC作用:解决高度塌陷问题,清除浮动
- == 与 ===的区别是什么
==值相等
===数据类型和值都相等
- 基本数据类型与引用数据类型的区别是什么
基本数据类型值在栈区
引用数据类型值在堆区
- 请写出三种定位的参考物分别是什么
固定定位position:fixed 相对于浏览器窗口
相对定位position:relative 相对于元素原来位置
绝对定位position:absolute 相对于有定位的父元素或祖先元素,如果没有就相对于body。
- 字符串方法substr与substring的区别是什么
Substr()方法接收两个参数,一个参数是开始索引,另一个参数是长度
Substring()方法接收两个参数,一个参数是开始索引,另一个是结束索引,包括开始不包括结尾。
- 什么是原型链
对象调用属性或方法的寻找过程。先在自己的构造函数中寻找,如果没有就到自己的原型中寻找,如果还没有,就到原型的原型中寻找,一直找到object的原型,如果还没有就报错。
- 请解释事件委托
把事件添加给标签的父元素,通过事件对象e.target来实现具体的操作。
- DOM0与DOM2的区别是什么
DOM0同一事件只能实现一次
DOM2同一事件可以添加多个函数
- 说一下存储机制之间的区别
LocalStorage数据存储到本地,需要手动删除;存储量大
SessionStorage数据依赖浏览器,当页面关闭或者退出浏览器时清空数据;存储量大
Cookie可以为数据设置过期时间;存储量小;可以与后台共用
- 说一下你对闭包的理解
函数内实现另一个函数
局部变量持久化
造成一定的内存压力
- call方法与apply方法的异同
都是改变this指向
Call()方法接受的是参数列表
Apply()方法接受的是一个参数数组
- 请写出 阻止冒泡 与 阻止默认
阻止默认事件 e.preventDefault()
阻止冒泡 e.stopPropagation()
- 请解释 构造函数 与 析构函数
构造函数:开辟内存
析构函数:释放内存
- 什么是响应式开发
一套代码适用于多个平台开发
- dom对象与jq对象如何互换
DOM对象转成JQuery对象$(DOM对象)
JQuery对象转成DOM对象:jq对象[index]
- 简述一下你对this的理解
属于谁,this指向谁
- 请从html,css,js三个维度说一下如何减少页面加载时间(谈一下优化)
Html:多使用语义化的标签,减少层级的嵌套。
Css:减少动画的使用,适当的时候使用服务器字体,使用雪碧图(精灵图),
Js:减少for循环的嵌套,适当时候多使用switch,多使用类修改样式减少内联样式的修改,少使用load多使用ready,减少网络请求次数,按需加载。
- 请用setTimeout实现setInterval
- 代码:冒泡排序