Web前端开发面试题整理(HTML+CSS+JavaScript)
2015-02-13 16:04
1161 查看
[align=left]1.对WEB标准以及W3C的理解与认识[/align]
[align=left]标签闭合、标签小写、不乱嵌套、提高搜索机器人搜索几率、使用外链css和js脚本、结构行为表现的分离、文件下载与页面速度更快、内容能被更多的用户所访问、内容能被更广泛的设备所访问、更少的代码和组件,容易维护、改版方便,不需要变动页面内容、提供打印版本而不需要复制内容、提高网站易用性;[/align]
[align=left]2.xhtml和html有什么区别[/align]
[align=left]HTML是一种基本的WEB网页设计语言,XHTML是一个基于XML的置标语言[/align]
[align=left]最主要的不同:[/align]
[align=left]XHTML 元素必须被正确地嵌套。[/align]
[align=left]XHTML 元素必须被关闭。[/align]
[align=left]标签名必须用小写字母。[/align]
[align=left]XHTML 文档必须拥有根元素。[/align]
[align=left]3.Doctype?严格模式与混杂模式-如何触发这两种模式,区分它们有何意义?[/align]
[align=left]用于声明文档使用那种规范(html/Xhtml)一般为分为严格和过度两种 基于框架的html文档[/align]
[align=left]加入XMl声明可触发,解析方式更改为IE5.5 拥有IE5.5的bug[/align]
[align=left]4.行内元素有哪些?块级元素有哪些?CSS的盒模型?[/align]
[align=left]块级元素:div p h1 h2 h3 h4 form ul[/align]
[align=left]行内元素: a b br i span input select[/align]
[align=left]Css盒模型:内容,border ,margin,padding[/align]
[align=left]5.CSS引入的方式有哪些?link和@import的区别是?[/align]
[align=left]内联 内嵌 外链 导入 [/align]
[align=left]区别 :同时加载[/align]
[align=left] 前者无兼容性,后者CSS2.1以下浏览器不支持[/align]
[align=left] Link支持使用javascript改变样式,后者不可[/align]
[align=left]6.CSS选择器有哪些?哪些属性可以继承?优先级算法如何计算?内联和important哪个优先级高?[/align]
[align=left]标签选择符 类选择符 id选择符[/align]
[align=left]继承不如指定 Id>class>标签选择[/align]
[align=left]important优先级高[/align]
[align=left]7.前端页面有哪三层构成,分别是什么?作用是什么?[/align]
结构层:由 HTML 或 XHTML 之类的标记语言负责创建,仅负责语义的表达。解决了页面“内容是什么”的问题。
表示层:由CSS负责创建,解决了页面“如何显示内容”的问题。
行为层:由js等脚本负责。解决了页面上“内容应该如何对事件作出反应”的问题。
[align=left]8.css的基本语句构成是?[/align]
[align=left]选择器{属性1:值1;属性2:值2;……}[/align]
[align=left]9.你做的页面在哪些流览器测试过?这些浏览器的内核分别是什么?[/align]
[align=left]Ie(Ie内核) Firefox(Gecko) Google、Safari(webkit)opear(Presto)[/align]
[align=left]10.写出几种IE6BUG的解决方法[/align]
[align=left]1.双边距BUGfloat引起的 使用display[/align]
[align=left]2.3像素问题 使用float引起的 使用dislpay:inline-3px [/align]
[align=left]3.超链接hover 点击后失效 使用正确的书写顺序 linkvisited hover active[/align]
[align=left]4.Ie z-index问题 给父级添加position:relative[/align]
[align=left]5.Png 透明 使用js代码 改[/align]
6.Min-height 最小高度 !Important 解决’
7.select 在ie6下遮盖 使用iframe嵌套
[align=left]8.为什么没有办法定义1px左右的宽度容器(IE6默认的行高造成的,使用over:hidden,zoom:0.08line-height:1px)[/align]
[align=left]11.img标签上title与alt属性的区别是什么?[/align]
[align=left]Alt 当图片不显示是 用文字代表。[/align]
[align=left]Title 为该属性提供信息[/align]
[align=left]12.描述cssreset的作用和用途。[/align]
[align=left]Reset重置浏览器的css默认属性 浏览器的品种不同,样式不同,然后重置,让他们统一[/align]
[align=left]13.解释csssprites,如何使用。[/align]
[align=left]Css 精灵 把一堆小的图片整合到一张大的图片上,减轻服务器对图片的请求数量[/align]
[align=left]14.浏览器标准模式和怪异模式之间的区别是什么?[/align]
[align=left]盒子模型 渲染模式的不同[/align]
[align=left]使用 window.top.document.compatMode 可显示为什么模式[/align]
[align=left]15.你如何对网站的文件和资源进行优化?期待的解决方案包括:[/align]
[align=left]文件合并[/align]
[align=left]文件最小化/文件压缩[/align]
[align=left]使用CDN托管[/align]
[align=left]缓存的使用[/align]
[align=left]16.什么是语义化的HTML?[/align]
[align=left]直观的认识标签 对于搜索引擎的抓取有好处[/align]
[align=left]17.清除浮动的几种方式,各自的优缺点[/align]
[align=left]1.使用空标签清除浮动 clear:both(理论上能清楚任何标签,,,增加无意义的标签)[/align]
[align=left]2.使用overflow:auto(空标签元素清除浮动而不得不增加无意代码的弊端,,使用zoom:1用于兼容IE)[/align]
[align=left]3.是用afert伪元素清除浮动(用于非IE浏览器)[/align]
[align=left]Javascript[/align]
[align=left]1.javascript的typeof返回哪些数据类型[/align]
[align=left]Object number function boolean underfind[/align]
[align=left]2.例举3种强制类型转换和2种隐式类型转换?[/align]
[align=left]强制(parseInt,parseFloat,number)[/align]
[align=left]隐式(== - ===)[/align]
[align=left]3.split()和join() 的区别[/align]
[align=left]前者是切割成数组的形式,后者是将数组转换成字符串[/align]
[align=left]4.数组方法pop()、push() 、unshift()、 shift()的功能[/align]
[align=left]Push()尾部添加 pop()尾部删除[/align]
[align=left]Unshift()头部添加 shift()头部删除[/align]
[align=left]5.事件绑定和普通事件有什么区别[/align]
如果绑定了事件 就可以触发事件 比如click事件 mouseover事件 事件还可以传播
但是如果不绑定事件 就不能执行任何操作 可以说就不具有交互性
[align=left]6.IE和DOM事件流的区别[/align]
[align=left]1.执行顺序不一样、[/align]
[align=left]2.参数不一样[/align]
[align=left]3.事件加不加on[/align]
[align=left]4.this指向问题[/align]
[align=left]7.IE和标准下有哪些兼容性的写法[/align]
[align=left]Var ev = ev || window.event[/align]
[align=left]document.documentElement.clientWidth ||document.body.clientWidth[/align]
[align=left]Var target = ev.srcElement||ev.target[/align]
[align=left]8.ajax请求的时候get和post方式的区别[/align]
[align=left]一个在url后面 一个放在虚拟载体里面[/align]
[align=left]有大小限制[/align]
[align=left]安全问题[/align]
[align=left]应用不同 一个是论坛等只需要请求的,一个是类似修改密码的[/align]
[align=left]9.call和apply的区别[/align]
[align=left]Object.call(this,obj1,obj2,obj3)[/align]
[align=left]Object.apply(this,arguments)[/align]
[align=left]10.ajax请求时,如何解释json数据[/align]
[align=left]使用eval parse 鉴于安全性考虑 使用parse更靠谱[/align]
[align=left]11.b继承a的方法[/align]
12.写一个获取非行间样式的函数
[align=left]13.事件委托是什么[/align]
[align=left]让利用事件冒泡的原理,让自己的所触发的事件,让他的父元素代替执行![/align]
[align=left]14.闭包是什么,有什么特性,对页面有什么影响[/align]
[align=left]闭包就是能够读取其他函数内部变量的函数。[/align]
[align=left]/article/9612631.html 此链接可查看(问这个问题的不是一个公司)[/align]
[align=left]15.如何阻止事件冒泡和默认事件[/align]
[align=left]canceBubble return false[/align]
[align=left]16.添加 删除 替换插入到某个接点的方法[/align]
[align=left]obj.appendChidl()[/align]
[align=left]obj.innersetBefore[/align]
[align=left]obj.replaceChild[/align]
[align=left]obj.removeChild[/align]
[align=left]17.解释jsonp的原理,以及为什么不是真正的ajax[/align]
[align=left]动态创建script标签,回调函数[/align]
[align=left]Ajax是页面无刷新请求数据操作[/align]
[align=left]18.javascript的本地对象,内置对象和宿主对象[/align]
[align=left]本地对象为array obj regexp等可以new实例化[/align]
[align=left]内置对象为gload Math 等不可以实例化的[/align]
[align=left]宿主为浏览器自带的document,window 等[/align]
[align=left]19.documentload 和document ready的区别[/align]
[align=left]Document.onload 是在结构和样式加载完才执行js[/align]
[align=left]Document.ready原生种没有这个方法,jquery中有 $().ready(function)[/align]
[align=left]20.”==”和“===”的不同[/align]
[align=left]前者会自动转换类型[/align]
[align=left]后者不会[/align]
[align=left]21.javascript的同源策略[/align]
[align=left]一段脚本只能读取来自于同一来源的窗口和文档的属性,这里的同一来源指的是主机名、协议和端口号的组合[/align]
22.编写一个数组去重的方法
[align=left]23.排序算法(冒泡排序)[/align]
24.排序算法(快速排序)
[align=left]标签闭合、标签小写、不乱嵌套、提高搜索机器人搜索几率、使用外链css和js脚本、结构行为表现的分离、文件下载与页面速度更快、内容能被更多的用户所访问、内容能被更广泛的设备所访问、更少的代码和组件,容易维护、改版方便,不需要变动页面内容、提供打印版本而不需要复制内容、提高网站易用性;[/align]
[align=left]2.xhtml和html有什么区别[/align]
[align=left]HTML是一种基本的WEB网页设计语言,XHTML是一个基于XML的置标语言[/align]
[align=left]最主要的不同:[/align]
[align=left]XHTML 元素必须被正确地嵌套。[/align]
[align=left]XHTML 元素必须被关闭。[/align]
[align=left]标签名必须用小写字母。[/align]
[align=left]XHTML 文档必须拥有根元素。[/align]
[align=left]3.Doctype?严格模式与混杂模式-如何触发这两种模式,区分它们有何意义?[/align]
[align=left]用于声明文档使用那种规范(html/Xhtml)一般为分为严格和过度两种 基于框架的html文档[/align]
[align=left]加入XMl声明可触发,解析方式更改为IE5.5 拥有IE5.5的bug[/align]
[align=left]4.行内元素有哪些?块级元素有哪些?CSS的盒模型?[/align]
[align=left]块级元素:div p h1 h2 h3 h4 form ul[/align]
[align=left]行内元素: a b br i span input select[/align]
[align=left]Css盒模型:内容,border ,margin,padding[/align]
[align=left]5.CSS引入的方式有哪些?link和@import的区别是?[/align]
[align=left]内联 内嵌 外链 导入 [/align]
[align=left]区别 :同时加载[/align]
[align=left] 前者无兼容性,后者CSS2.1以下浏览器不支持[/align]
[align=left] Link支持使用javascript改变样式,后者不可[/align]
[align=left]6.CSS选择器有哪些?哪些属性可以继承?优先级算法如何计算?内联和important哪个优先级高?[/align]
[align=left]标签选择符 类选择符 id选择符[/align]
[align=left]继承不如指定 Id>class>标签选择[/align]
[align=left]important优先级高[/align]
[align=left]7.前端页面有哪三层构成,分别是什么?作用是什么?[/align]
结构层:由 HTML 或 XHTML 之类的标记语言负责创建,仅负责语义的表达。解决了页面“内容是什么”的问题。
表示层:由CSS负责创建,解决了页面“如何显示内容”的问题。
行为层:由js等脚本负责。解决了页面上“内容应该如何对事件作出反应”的问题。
[align=left]8.css的基本语句构成是?[/align]
[align=left]选择器{属性1:值1;属性2:值2;……}[/align]
[align=left]9.你做的页面在哪些流览器测试过?这些浏览器的内核分别是什么?[/align]
[align=left]Ie(Ie内核) Firefox(Gecko) Google、Safari(webkit)opear(Presto)[/align]
[align=left]10.写出几种IE6BUG的解决方法[/align]
[align=left]1.双边距BUGfloat引起的 使用display[/align]
[align=left]2.3像素问题 使用float引起的 使用dislpay:inline-3px [/align]
[align=left]3.超链接hover 点击后失效 使用正确的书写顺序 linkvisited hover active[/align]
[align=left]4.Ie z-index问题 给父级添加position:relative[/align]
[align=left]5.Png 透明 使用js代码 改[/align]
6.Min-height 最小高度 !Important 解决’
7.select 在ie6下遮盖 使用iframe嵌套
[align=left]8.为什么没有办法定义1px左右的宽度容器(IE6默认的行高造成的,使用over:hidden,zoom:0.08line-height:1px)[/align]
[align=left]11.img标签上title与alt属性的区别是什么?[/align]
[align=left]Alt 当图片不显示是 用文字代表。[/align]
[align=left]Title 为该属性提供信息[/align]
[align=left]12.描述cssreset的作用和用途。[/align]
[align=left]Reset重置浏览器的css默认属性 浏览器的品种不同,样式不同,然后重置,让他们统一[/align]
[align=left]13.解释csssprites,如何使用。[/align]
[align=left]Css 精灵 把一堆小的图片整合到一张大的图片上,减轻服务器对图片的请求数量[/align]
[align=left]14.浏览器标准模式和怪异模式之间的区别是什么?[/align]
[align=left]盒子模型 渲染模式的不同[/align]
[align=left]使用 window.top.document.compatMode 可显示为什么模式[/align]
[align=left]15.你如何对网站的文件和资源进行优化?期待的解决方案包括:[/align]
[align=left]文件合并[/align]
[align=left]文件最小化/文件压缩[/align]
[align=left]使用CDN托管[/align]
[align=left]缓存的使用[/align]
[align=left]16.什么是语义化的HTML?[/align]
[align=left]直观的认识标签 对于搜索引擎的抓取有好处[/align]
[align=left]17.清除浮动的几种方式,各自的优缺点[/align]
[align=left]1.使用空标签清除浮动 clear:both(理论上能清楚任何标签,,,增加无意义的标签)[/align]
[align=left]2.使用overflow:auto(空标签元素清除浮动而不得不增加无意代码的弊端,,使用zoom:1用于兼容IE)[/align]
[align=left]3.是用afert伪元素清除浮动(用于非IE浏览器)[/align]
[align=left]Javascript[/align]
[align=left]1.javascript的typeof返回哪些数据类型[/align]
[align=left]Object number function boolean underfind[/align]
[align=left]2.例举3种强制类型转换和2种隐式类型转换?[/align]
[align=left]强制(parseInt,parseFloat,number)[/align]
[align=left]隐式(== - ===)[/align]
[align=left]3.split()和join() 的区别[/align]
[align=left]前者是切割成数组的形式,后者是将数组转换成字符串[/align]
[align=left]4.数组方法pop()、push() 、unshift()、 shift()的功能[/align]
[align=left]Push()尾部添加 pop()尾部删除[/align]
[align=left]Unshift()头部添加 shift()头部删除[/align]
[align=left]5.事件绑定和普通事件有什么区别[/align]
如果绑定了事件 就可以触发事件 比如click事件 mouseover事件 事件还可以传播
但是如果不绑定事件 就不能执行任何操作 可以说就不具有交互性
[align=left]6.IE和DOM事件流的区别[/align]
[align=left]1.执行顺序不一样、[/align]
[align=left]2.参数不一样[/align]
[align=left]3.事件加不加on[/align]
[align=left]4.this指向问题[/align]
[align=left]7.IE和标准下有哪些兼容性的写法[/align]
[align=left]Var ev = ev || window.event[/align]
[align=left]document.documentElement.clientWidth ||document.body.clientWidth[/align]
[align=left]Var target = ev.srcElement||ev.target[/align]
[align=left]8.ajax请求的时候get和post方式的区别[/align]
[align=left]一个在url后面 一个放在虚拟载体里面[/align]
[align=left]有大小限制[/align]
[align=left]安全问题[/align]
[align=left]应用不同 一个是论坛等只需要请求的,一个是类似修改密码的[/align]
[align=left]9.call和apply的区别[/align]
[align=left]Object.call(this,obj1,obj2,obj3)[/align]
[align=left]Object.apply(this,arguments)[/align]
[align=left]10.ajax请求时,如何解释json数据[/align]
[align=left]使用eval parse 鉴于安全性考虑 使用parse更靠谱[/align]
[align=left]11.b继承a的方法[/align]
function A(name,age){ this.age = age ? age : 30; this.name = name ? name : '小明' this.say = function(){ alert(this.name + '今年' + this.age + '岁了!'); } } function B(){} B.prototype = new A(); var C = new B();C.say();
12.写一个获取非行间样式的函数
function getStyle(obj,attr,value) { if(!value) { if(obj.currentStyle) { returnobj.currentStyle(attr) } else { obj.getComputedStyle(attr,false) } } else { obj.style[attr]=value } }
[align=left]13.事件委托是什么[/align]
[align=left]让利用事件冒泡的原理,让自己的所触发的事件,让他的父元素代替执行![/align]
[align=left]14.闭包是什么,有什么特性,对页面有什么影响[/align]
[align=left]闭包就是能够读取其他函数内部变量的函数。[/align]
[align=left]/article/9612631.html 此链接可查看(问这个问题的不是一个公司)[/align]
[align=left]15.如何阻止事件冒泡和默认事件[/align]
[align=left]canceBubble return false[/align]
[align=left]16.添加 删除 替换插入到某个接点的方法[/align]
[align=left]obj.appendChidl()[/align]
[align=left]obj.innersetBefore[/align]
[align=left]obj.replaceChild[/align]
[align=left]obj.removeChild[/align]
[align=left]17.解释jsonp的原理,以及为什么不是真正的ajax[/align]
[align=left]动态创建script标签,回调函数[/align]
[align=left]Ajax是页面无刷新请求数据操作[/align]
[align=left]18.javascript的本地对象,内置对象和宿主对象[/align]
[align=left]本地对象为array obj regexp等可以new实例化[/align]
[align=left]内置对象为gload Math 等不可以实例化的[/align]
[align=left]宿主为浏览器自带的document,window 等[/align]
[align=left]19.documentload 和document ready的区别[/align]
[align=left]Document.onload 是在结构和样式加载完才执行js[/align]
[align=left]Document.ready原生种没有这个方法,jquery中有 $().ready(function)[/align]
[align=left]20.”==”和“===”的不同[/align]
[align=left]前者会自动转换类型[/align]
[align=left]后者不会[/align]
[align=left]21.javascript的同源策略[/align]
[align=left]一段脚本只能读取来自于同一来源的窗口和文档的属性,这里的同一来源指的是主机名、协议和端口号的组合[/align]
22.编写一个数组去重的方法
var array=[1,2,2,4,3,5,3,6]; function unique(array){ if(array.length == 0) return array; array.sort(); var array2 = [array[0]]; for(var i = 0; i < array.length; i++){ if(array[i]!=array2[array2.length-1) array2.push(); } return array2; }
[align=left]23.排序算法(冒泡排序)[/align]
<script language="javascript"> function BubbleSort(array){ var temp; for (var i = 1; i < array.length; i++) { for (var j = array.length - 1; j >= i; j--) { if (array[j] < array[j - 1]) {//如果当前元素值比前一个元素小,就更换两个元素的位置,否则继续循环 temp = array[j - 1];//把前一个元素值存到临时变量中 array[j - 1] = array[j];//把当前元素值赋给前一个元素,实现连个元素位置的互调,大的在后面,小的在前面 array[j] = temp;//把前一个元素值的存到当前元素的数组单元中,当第二次循环的时候当前元素的值不变,只不过位置靠前了 } } } return array; } var array = new Array(43,5,62,34,27,36,36,57,61); function print(array){ for(var i=0;i<array.length;i++){ document.write(array[i]); if(i==array.length-1){ break; } document.write(","); } document.write("<br>") } document.write("before sort:"); print(array); document.write("after sort:"); var str = BubbleSort(array).join(","); document.write(str); </script>
24.排序算法(快速排序)
<script language="javascript"> function quick_sort(list, start, end) { if (start < end) { var pivotpos = partition(list, start, end); //找出快排的基数 quick_sort(list, start, pivotpos - 1); //将左边的快排一次 quick_sort(list, pivotpos + 1, end); //将右边的快排一次 } } //将一个序列调整成以基数为分割的两个区域,一边全都不小于基数,一边全都不大于基数 function partition(list, start, end) { var pivotpos = start; var pivot = list[start]; var tmp; for(var i = start + 1; i <= end; i ++) { if (list[i] < pivot) { tmp = list[i]; pivotpos += 1; list[i] = list[pivotpos]; list[pivotpos] = tmp; } } tmp = list[start]; list[start] = list[pivotpos]; list[pivotpos] = tmp; return pivotpos; } var list = [8,2,4,65,2,4,7,1,9,0,2,34,12]; document.write("Sort Before<br>"+list.join()); quick_sort(list, 0, list.length); document.write("<br>Sort After<br>"+list.join()); </script>
相关文章推荐
- Web前端开发精品课HTML CSS JavaScript基础教程第十六章课后编程题答案
- Web前端开发精品课HTML CSS JavaScript基础教程JavaScript部分知识点总结
- Web前端开发精品课HTML CSS JavaScript基础教程第十四章课后编程题答案
- Web前端开发精品课HTML CSS JavaScript基础教程CSS部分知识点总结
- Web前端开发精品课HTML CSS JavaScript基础教程第五章课后编程题答案
- web前端不可错过的开发工具–Adobe Brackets(开源、简洁强大的HTML、CSS和JavaScript集成开发环境)
- Web前端开发规范【HTML/JavaScript/CSS】
- web前端不可错过的开发工具–Adobe Brackets(开源、简洁强大的HTML、CSS和JavaScript集成开发环境)
- 为什么 Web 前端开发不抛弃 HTML 和 CSS,用纯 JavaScript 开发?
- Brackets 是一个免费、开源且跨平台的 HTML/CSS/JavaScript 前端 WEB 集成开发环境 (IDE工具)
- Web前端开发精品课HTML CSS JavaScript基础教程第四章课后编程题答案
- Web前端开发精品课HTML CSS JavaScript基础教程第九章课后编程题答案
- Web前端开发精品课HTML CSS JavaScript基础教程第二十三章课后编程题答案
- Web前端开发精品课HTML CSS JavaScript基础教程第六章课后编程题答案
- Web前端开发精品课HTML CSS JavaScript基础教程第十三章课后编程题答案
- 20150726 Web前端开发基础html+css
- Vim下的Web开发之html,CSS,javascript插件
- Web前端开发规范文档(css/javascript)
- Vim下的Web开发之html,CSS,javascript插件
- web前端新手向HTML+CSS+JavaScript实现列表的增删查改【施工中】