1.阐述清楚浮动的几种方式
父级div定义 overflow:hidden
结尾处加空div标签 clear:both
2.如何用原生js给一个按钮绑定两个onclick事件?
使用事件监听
var btn = document.getElementById(“btn”);
btn.addEventListener(“click”,hello1);
btn.addEventListener(“click”,hello2);
function hello1(){
alert(“hello 1”);
}
function hello2(){
alert(“hello 2”);
}
3.请列举jquery中的选择器
和CSS的选择器大致相同
4.请描述一下 cookies sessionStorage和localstorage区别
5.什么是ajax? ajax的步骤?
ajax(异步javascript xml) 能够刷新局部网页数据而不是重新加载整个网页。
步骤:
6.js有几种数据类型,其中基本数据类型有哪些
基本数据类型:null、undefined、布尔类型(boolean)、数字类型(number)、字符串类型(string)
引用类型:Array、Object、Function
7.undefined和null的区别
null是空值,undefined是已经声明了但未初始化或者是没被解析成其他的数据类型
8.常见的HTTP状态码
200 (成功) 服务器已成功处理了请求。 通常,这表示服务器提供了请求的网页。
3开头 (请求被重定向)表示要完成请求,需要进一步操作。 通常,这些状态代码用来重定向。
404 (未找到) 服务器找不到请求的网页。
500 (服务器内部错误) 服务器遇到错误,无法完成请求。
9.什么是mvvm,mvc?区别?
mvc:Model-View-Controller,直观的一种架构模式,在View中接受用户的输入操作,传入Controller进行业务逻辑处理,要求Model改变状态,Model将新的数据发送到View,用户得到反馈
mvvm:Model-View-ViewModel,Model和View再无直接联系,由ViewModel来处理(数据双向绑定)
10.px和em、rem的区别
px:相对长度单位。像素px是相对于显示器屏幕分辨率而言的
em:是相对长度单位。相对于当前对象内文本的字体尺寸。如当前未设置,则相对于浏览器的默认字体尺寸
rem:相对长度单位,相对于根元素(即html元素)font-size计算值的倍数
11.什么是闭包
闭包就是能够读取其他函数内部变量的函数。由于在Javascript语言中,只有函数内部的子函数才能读取局部变量,因此可以把闭包简单理解成“定义在一个函数内部的函数”
12.怎样添加、移除、移动、复制、创建和查找节点
1)创建新节点
createDocumentFragment() //创建一个DOM片段
createElement() //创建一个具体的元素
createTextNode() //创建一个文本节点
2)添加、移除、替换、插入
appendChild() //添加
removeChild() //移除
replaceChild() //替换
insertBefore() //插入
3)查找
getElementsByTagName() //通过标签名称
getElementsByName() //通过元素的Name属性的值
getElementById() //通过元素Id,唯一性
13.display:none和visibility:hidden区别
display:none是彻底消失
14.CSS3新增属性
border-radius、box-shadow、border-image
text-shadow
transform
过渡、动画等
15.HTML5新增特性
canvas绘画,本地离线存储localStorage,sessionStorage,video和audio元素,语义化元素(新的表单控件:date、time、email、search、url)
16.如何优化网页加载速度
1_ 尽量使用css3动画,开启硬件加速
2_ 适当使用touch事件代替click事件
3_ 避免使用css3渐变阴影效果
4_ 可以用transform: translateZ(0) 来开启硬件加速
5_ 不滥用float。float在渲染时计算量比较大,尽量减少使用
6_ 不滥用web字体。web字体需要下载,解析,重绘当前页面
17.ES6的promise的理解和使用
Promise 是异步编程的一种解决方案,比传统的解决方案(回调函数和事件)更合理
和更强大。
所谓Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是
一个异步操作)的结果
18.ES6的新增那些东西
let,const,箭头函数,字符串模板,class类,模块化,promise
19.vue的生命周期
beforeCreate
created
beforeMount
mounted
beforeUpdate
updated
beforeDestroy
destroyed