常见网页前端面试题集

前端面试题集

1、数组的去重复方法。

<script type="text/javascript">

       window.οnlοad=function(){

            vars = [0,2,3,4,4,0,2,5,1,"abd","efd","efd","师","帅哥","帅哥"];

            varo=[],

               tmp=[],

               count= 0;

           for(var i=0,l=s.length;i<l;i++){

               if(o[s[i]]){

                   count++;

               }else{

                   o[s[i]]=1;

                   tmp.push(s[i])

                }

            }

           alert(count);

           alert(tmp)

        }

</script>

2、写一个获取非行间样式的函数

       function getStyle(obj, attr){

           if(obj.currentStyle)    {

                return obj.currentStyle[attr];

           }else{

                return getComputedStyle(obj,false)[attr];

           }

       }

---------------------------------------------------------------------------------------------------------

functiongetStyle(obj,attr,value){

           if(!value){

               if(obj.currentStyle){

                    returnobj.currentStyle(attr)

                }else{

                   obj.getComputedStyle(attr,false)

                }

           }else{

                obj.style[attr]=value

           }

       }

HTML+CSS

1.对WEB标准以及W3C的理解与认识

标签闭合、标签小写、不乱嵌套、提高搜索机器人搜索几率、使用外链css和js脚本、结构行为表现的分离、文件下载与页面速度更快、内容能被更多的用户所访问、内容能被更广泛的设备所访问、更少的代码和组件,容易维护、改版方便,不需要变动页面内容、提供打印版本而不需要复制内容、提高网站易用性;

 

2.xhtml和html有什么区别

HTML是一种基本的WEB网页设计语言,XHTML是一个基于XML的置标语言

最主要的不同:

XHTML 元素必须被正确地嵌套。

XHTML 元素必须被关闭。

标签名必须用小写字母。

XHTML 文档必须拥有根元素。

 

3.Doctype? 严格模式与混杂模式-如何触发这两种模式,区分它们有何意义?

用于声明文档使用那种规范(html/Xhtml)一般为 严格 过度基于框架的html文档

加入XMl声明可触发,解析方式更改为IE5.5 拥有IE5.5的bug

 

4.行内元素有哪些?块级元素有哪些?CSS的盒模型?

块级元素:div p h1 h2 h3 h4 form ul

行内元素: a b br i span input select

Css盒模型:内容,border,margin,padding

 

5.CSS引入的方式有哪些? link和@import的区别是?

内联 内嵌 外链 导入   

区别 :同时加载

       前者无兼容性,后者CSS2.1以下浏览器不支持

   Link 支持使用javascript改变样式,后者不可

 

6.CSS选择符有哪些?哪些属性可以继承?优先级算法如何计算?内联和important哪个优先级高?

标签选择符  类选择符 id选择符

继承不如指定   Id>class>标签选择

后者优先级高

 

7.前端页面有哪三层构成,分别是什么?作用是什么?

结构层 Html 表示层 CSS行为层 js

 

8.css的基本语句构成是?

选择器{属性1:值1;属性2:值2;……}

 

9.你做的页面在哪些流览器测试过?这些浏览器的内核分别是什么?

Ie(Ie内核)  火狐(Gecko) 谷歌(webkit)opear(Presto)

 

10.写出几种IE6 BUG的解决方法

1.双边距BUG float引起的  使用display

2.3像素问题 使用float引起的 使用dislpay:inline -3px  

3.超链接hover 点击后失效  使用正确的书写顺序 link visited hover active

4.Ie z-index问题 给父级添加position:relative

5.Png 透明 使用js代码 改

6.Min-height 最小高度 !Important 解决’
7.select 在ie6下遮盖 使用iframe嵌套

8.为什么没有办法定义1px左右的宽度容器(IE6默认的行高造成的,使用over:hidden,zoom:0.08line-height:1px)

 

11.标签上title与alt属性的区别是什么?

Alt 当图片不显示是 用文字代表。

Title 为该属性提供信息

 

12.描述cssreset的作用和用途。

Reset重置浏览器的css默认属性        浏览器的品种不同,样式不同,然后重置,让他们统一

 

13.解释csssprites,如何使用。

Css 精灵 把一堆小的图片整合到一张大的图片上,减轻服务器对图片的请求数量

 

14.浏览器标准模式和怪异模式之间的区别是什么?

盒子模型 渲染模式的不同

使用 window.top.document.compatMode 可显示为什么模式

 

15.你如何对网站的文件和资源进行优化?期待的解决方案包括:

文件合并

文件最小化/文件压缩

使用CDN托管

缓存的使用

 

16.什么是语义化的HTML

直观的认识标签  对于搜索引擎的抓取有好处

 

17.清除浮动的几种方式,各自的优缺点

1.使用空标签清除浮动 clear:both(理论上能清楚任何标签,,,增加无意义的标签)

2.使用overflow:auto(空标签元素清除浮动而不得不增加无意代码的弊端,,使用zoom:1用于兼容IE)

3.是用afert伪元素清除浮动(用于非IE浏览器)

 

Javascript

1.javascript的typeof返回哪些数据类型

Object number function boolean underfind

 

2.例举3种强制类型转换和2种隐式类型转换?

强制(parseInt,parseFloat,number

隐式(== - ===

 

3.split() join() 的区别

前者是切割成数组的形式,后者是将数组转换成字符串

 

4.数组方法pop() push() unshift() shift()

Push()尾部添加 pop()尾部删除

Unshift()头部添加  shift()头部删除

 

5.事件绑定和普通事件有什么区别

 

6.IE和DOM事件流的区别

1.执行顺序不一样、

2.参数不一样

3.事件加不加on

4.this指向问题

 

7.IE和标准下有哪些兼容性的写法

Var ev = ev || window.event

document.documentElement.clientWidth ||document.body.clientWidth

Var target = ev.srcElement||ev.target

 

8.ajax请求的时候get 和post方式的区别

一个在url后面 一个放在虚拟载体里面

有大小限制

安全问题

应用不同 一个是论坛等只需要请求的,一个是类似修改密码的

 

9.call和apply的区别

Object.call(this,obj1,obj2,obj3)

Object.apply(this,arguments)

 

10.ajax请求时,如何解释json数据

使用eval parse 鉴于安全性考虑 使用parse更靠谱

11.b继承a的方法

 

12.写一个获取非行间样式的函数

1.  functiongetStyle(obj,attr,value)

2.   

3.          {

4.   

5.              if(!value)

6.   

7.              {

8.   

9.                  if(obj.currentStyle)

10.  

11.                 {

12.  

13.                     returnobj.currentStyle(attr)

14.  

15.                 }

16.  

17.                 else

18.  

19.                 {

20.  

21.                     obj.getComputedStyle(attr,false)

22.  

23.                 }

24.  

25.             }

26.  

27.             else

28.  

29.             {

30.  

31.                 obj.style[attr]=value

32.  

33.             }

34.  

35.         }

复制代码

13.事件委托是什么

让利用事件冒泡的原理,让自己的所触发的事件,让他的父元素代替执行!

 

14.闭包是什么,有什么特性,对页面有什么影响

闭包就是能够读取其他函数内部变量的函数。

http://blog.csdn.net/gaoshanwudi/article/details/7355794 此链接可查看(问这个问题的不是一个公司)

 

15.如何阻止事件冒泡和默认事件

canceBubble   return false

 

16.添加 删除 替换 插入到某个接点的方法

obj.appendChidl()

obj.innersetBefore

obj.replaceChild

obj.removeChild

 

17.解释jsonp的原理,以及为什么不是真正的ajax

动态创建script标签,回调函数

Ajax是页面无刷新请求数据操作

 

18.javascript的本地对象,内置对象和宿主对象

本地对象为array obj regexp等可以new实例化

内置对象为gload Math 等不可以实例化的

宿主为浏览器自带的document,window

 

19.document load 和document ready的区别

Document.onload 是在结构和样式加载完才执行js

Document.ready原生种没有这个方法,jquery中有$().ready(function)

 

20.”==”和“===”的不同

前者会自动转换类型

后者不会

 

21.javascript的同源策略

一段脚本只能读取来自于同一来源的窗口和文档的属性,这里的同一来源指的是主机名、协议和端口号的组合

 

22.编写一个数组去重的方法

1.  functionoSort(arr)

2.   

3.          {

4.   

5.              varresult ={};

6.   

7.              varnewArr=[];

8.   

9.              for(vari=0;i

10.  

11.             {

12.  

13.                 if(!result[arr[i]])

14.  

15.                 {

16.  

17.                     newArr.push(arr[i])

18.  

19.                     result[arr[i]]=1

20.  

21.                 }

22.  

23.             }

24.  

25.             returnnewArr

26.  

27.         }

复制代码

23.排序算法

1.  快速排序function oSort(arr)

2.   

3.          {

4.   

5.              if(arr.length<=1)

6.   

7.              {

8.   

9.                  returnarr

10.  

11.             }

12.  

13.             varleft=[];

14.  

15.             varright=[];

16.  

17.             varoNum = Math.floor(arr.length/2);

18.  

19.             varoNumVode = arr.splice(oNum,1);

20.  

21.             for(vari=0;i

22.  

23.             {

24.  

25.                 if(arr[i]

26.  

27.                 {

28.  

29.                     left.push(arr[i])

30.  

31.                 }

32.  

33.                 else

34.  

35.                 {

36.  

37.                     right.push(arr[i])

38.  

39.                 }

40.  

41.             }

42.  

43.             returnoSort(left).concat([oNumVode],oSort(right))

44.  

45.         }

46.  

47. 冒泡排序 var array = [5, 4, 3, 2, 1];

48.  

49. var temp = 0;

50.  

51. for (var i =0; i < array.length; i++)

52.  

53. {

54.  

55. for (var j =0; j < array.length - i; j++)

56.  

57. {

58.  

59. if (array[j]> array[j + 1])

60.  

61. {

62.  

63. temp = array[j+ 1];

64.  

65. array[j + 1] =array[j];

66.  

67. array[j] =temp;

68.  

69. }

70.  

71. }

72.  

73. }

74. 聚美优品面试题

75. CSS
1.  overflow-x  属于 CSS2 还是 CSS3
2.  请列举几种可以清除浮动的方法(至少两种)
3.  display:none  和  visibility:hidden  的区别是什么
4.  请缩写以下代码:
.box {
     background-position:10px 20px;
     background-repeat:no-repeat;
     background-attachment:fixed;
     background-color: red;
     background-image:url(box.png);
}
5.  如何让一段文本中的所有英文单词的首字母大写

Javascript
1.  请解释一下什么是闭包
2.  call 和 apply 的区别是什么
3.  如何使用原生Javascript 代码深度克隆一个对象(注意区分对象类型)
4.  jQuery 中  $('.class')  和  $('div.class')  在 IE 8下哪个效率更高,请解释原因

HTML
1.  以下哪个不是HTML5 的新标签:
a.  <article>
b.  <section>
c.  <address>
d.  <time>
2.  正确使用HTML 和 CSS 实现以下效果(中间方框部分表示图片,右侧为文字列表。尽量不要
使用 float 属性):
 

简答
1.  jumei.com 和weibo.com 完整载入后,html 代码各有多少 KB
2.  最近关注了哪些前端相关的技术/博客/论坛,简述心得和看法

JavaScript 编程题
1、实现输出document对象中所有成员的名称和类型;
2、如何获得一个DOM元素的绝对位置?(获取元素位置,不依赖框架)
3、如何利用JS生成一个table?
4、实现预加载一张图片,加载完成后显示在网页中并设定其高度为50px;宽度为50px;
5、假设有一个4行td的table,将table里面td顺序颠倒;
6、模拟一个HashTable类,包含有add、remove、contains、length方法;
7、Ajax读取一个xml文档并进行解析的实例;
8、js如何实现面向对象和继承机制
9、Js模块的封装方法,比如怎样实现私有变量,不能直接赋值,只能通过共有方法访问。
10、对闭包的理解,闭包的好处和坏处;
11、对this指针的理解,可以列举几种使用情况;
12、对JS中函数绑定的理解,函数绑定可以使用哪两个函数,函数绑定一般使用在什么情况下,这两个函数的区别是什么?
13、JQuery的特点。
14、简述Ajax异步机制,Ajax有哪些的好处和弊端,介绍一下Ajax异步请求的原理和过程,Ajax是否可以跨域访问数据,如何解决跨域访问?

页面布局HTML/CSS
1、<img>标签上title与alt属性的区别是什么?
2、分别写出以下几个HTML标签:文字加粗、下标、居中、字体
3、写出一个文本输入框,属性为只读,最大输入字符为20个
4、css左边固定,右边可变的布局实现方法,如果要求在源码顺序中左边必须在前,如何实现
5、图片和文字一起如何通过css实现居中
6、请简述一下css中的样式继承和css的选择器?
7、请简述一下各个选择器之间的优先级
8、在同等优先级的情况下如何选择样式
9、盒子模型,请简述一下盒子模型
10、如何使一个div的背景图像距这个Div的顶部10像素,左边15像素,且不重复?
11、如何增加某一个链接的可点击面积,而下划线仍然与链接一样长?如,鼠标移至td空白区域后下划线也能消失,点击后即相当于点击了链接文字
12、一个元素的上边框为红色,其他边框黑色,里面文字的颜色是蓝色;
13、打开(隐藏)、关闭(显示)一个对象,style的display以及visibility的参数是什么?
14、用CSS和Div实现3列或2列的页面布局,并说明与table布局相比有哪些优缺点
15、定宽网页两列内容布局,试写出你所知道的几种布局代码(HTML+css),再简单描述下各种布局的优缺点。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值