1.inline 和 block 元素分别有哪些?区别是什么?
inline:内联元素,
a span strong em input select label img br teatarea
block:块状元素
p div ol li br
区别:
内联元素:
1.设置width和height无效
2.不能单独占一行,元素不会独占一行,其宽度随元素的内容而变化
3.padding和margin属性,padding-top,padding-bottom,margin-top,margin-bottom不产生边距,padding-left,padding-right,margin-left,margin-right产生边距
块状元素:1.可以设置width和height
2.单独占一行
3. 元素不会独占一行,其宽度随元素的内容而变化
2.请解释 relative、fixed、absolute 和 static 元素的区别
fixed:相对定位,相对于浏览器定位
static:静态定位,默认,不定位,存在文本流中
absolute:绝对定位,相对于除了fixed的第一个父元素定位,脱离文本流中,在文本流中不存在位置
relaticve:相对定位, 脱离文本流,在文本流中存在位置
3.清除浮动方法
1.clear
clear:{clear:both;}
2.伪元素 :after
clearfix:after:{display:block;conteng:"";clear:both},兼容IE,.clearfix{zoom:1}
3.给父元素加高
4.overflow:hidden
4.请描述 cookies、sessionStorage 和 localStorage 的区别
共同点:都是保存在浏览器端,且同源的。
区别:
好处
5.
下面代码的输出是什么?
console.log(‘one‘); setTimeout(function() { console.log(‘two‘); }, 0); console.log(‘three‘);
//one
//three
/ two
6..call 和 .apply 的区别是什么
call 方法可以用来代替另一个对象调用一个方法。call 方法可将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象。
如果没有提供 thisObj 参数,那么 Global 对象被用作 thisObj。
apply方法:
语法:apply(thisObj,[argArray])
定义:应用某一对象的一个方法,用另一个对象替换当前对象。
说明:
如果 argArray 不是一个有效的数组或者不是 arguments 对象,那么将导致一个 TypeError。
如果没有提供 argArray 和 thisObj 任何一个参数,那么 Global 对象将被用作 thisObj, 并且无法被传递任何参数。
7.如何判断一个对象是否是Array类型
1.通过toString()方法,数组原型和对象原型定义的toString()方法不同
var arr = [1, 2, 3]; var obj = { name: ‘lyl‘, age: 18, 1: ‘name‘ } console.log(Object.prototype.toString.call(arr) === ‘[object Array]‘); //true console.log(Object.prototype.toString.call(boj) === ‘[object Array]‘); //false
2.通过instanceof来判断区分
var arr = [1, 2, 3]; var obj = { name: ‘lyl‘, age: 18, 1: ‘name‘ } console.log(arr instanceof Array); //true console.log(obj instanceof Array); //false
3.通过length属性:
8.如何优化触发频率非常高的事件函数 例如onscroll, oninput
http://www.qdfuns.com/notes/24933/53e06974b608ea30691fba9d8295fabb.html
9.如何克隆一个数组
第一种:用ary.slice(0) var ary = [1,2,3];//源数组 var ary2 = ary.slice(0);//克隆一个新数组 console.log(ary2);
第二种:push var cc=[1,3,2]
var a=[]
for(var i=0;i<cc.length;i++){
a.push(cc[i])
}
第三种 var newJson = json.concat();
10.javascript,es5,es6的区别
11.bootsrtap的优点
12.html5优点
13.flex布局优点,
原文:http://www.cnblogs.com/summerXll/p/6489829.html