WEB前端面试题全套WORD.docx

上传人:b****0 文档编号:9056794 上传时间:2023-05-16 格式:DOCX 页数:47 大小:61.23KB
下载 相关 举报
WEB前端面试题全套WORD.docx_第1页
第1页 / 共47页
WEB前端面试题全套WORD.docx_第2页
第2页 / 共47页
WEB前端面试题全套WORD.docx_第3页
第3页 / 共47页
WEB前端面试题全套WORD.docx_第4页
第4页 / 共47页
WEB前端面试题全套WORD.docx_第5页
第5页 / 共47页
WEB前端面试题全套WORD.docx_第6页
第6页 / 共47页
WEB前端面试题全套WORD.docx_第7页
第7页 / 共47页
WEB前端面试题全套WORD.docx_第8页
第8页 / 共47页
WEB前端面试题全套WORD.docx_第9页
第9页 / 共47页
WEB前端面试题全套WORD.docx_第10页
第10页 / 共47页
WEB前端面试题全套WORD.docx_第11页
第11页 / 共47页
WEB前端面试题全套WORD.docx_第12页
第12页 / 共47页
WEB前端面试题全套WORD.docx_第13页
第13页 / 共47页
WEB前端面试题全套WORD.docx_第14页
第14页 / 共47页
WEB前端面试题全套WORD.docx_第15页
第15页 / 共47页
WEB前端面试题全套WORD.docx_第16页
第16页 / 共47页
WEB前端面试题全套WORD.docx_第17页
第17页 / 共47页
WEB前端面试题全套WORD.docx_第18页
第18页 / 共47页
WEB前端面试题全套WORD.docx_第19页
第19页 / 共47页
WEB前端面试题全套WORD.docx_第20页
第20页 / 共47页
亲,该文档总共47页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

WEB前端面试题全套WORD.docx

《WEB前端面试题全套WORD.docx》由会员分享,可在线阅读,更多相关《WEB前端面试题全套WORD.docx(47页珍藏版)》请在冰点文库上搜索。

WEB前端面试题全套WORD.docx

WEB前端面试题全套WORD

什么是响应式网页?

通过CSS3MediaQuery实现响应式Web设计

响应式Web设计(ResponsiveWebdesign)的理念是,页面的设计与开发应当根据用户行为以及设备环境(系统平台、屏幕尺寸、屏幕定向等)进行相应的响应和调整。

具体的实践方式由多方面组成,包括弹性网格和布局、图片、CSSmediaquery的使用等。

无论用户正在使用笔记本还是iPad,我们的页面都应该能够自动切换分辨率、图片尺寸及相关脚本功能等,以适应不同设备;换句话说,页面应该有能力去自动响应用户的设备环境。

这样,我们就可以不必为不断到来的新设备做专门的版本设计和开发了。

Doctype?

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

声明位于文档中的最前面的位置,处于标签之前。

此标签可告知浏览器文档使用哪种HTML或XHTML规范。

标准模式和混杂模式(quirksmode)。

在标准模式中,浏览器根据规范呈现页面;在混杂模式中,页面以一种比较宽松的向后兼容的方式显示。

混杂模式通常模拟老式浏览器(比如MicrosoftIE4和NetscapeNavigator4)的行为以防止老站点无法工作。

在IE6出现时,在标准模式中使用的是正确的盒模型,在混杂模式中使用的则是老式的专有盒模型。

为了维持对IE5和更低版本的向后兼容性,Opera7和更高版本也在混杂模式中使用有缺点的IE盒模型。

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

作用是什么?

网页的结构层(structurallayer)由HTML或XHTML之类的标记语言负责创建。

标签,也就是那些出现在尖括号里的单词,对网页内容的语义含义做出了描述,但这些标签不包含任何关于如何显示有关内容的信息。

例如,P标签表达了这样一种语义:

“这是一个文本段。

网页的表示层(presentationlayer)由CSS负责创建。

CSS对“如何显示有关内容”的问题做出了回答。

网页的行为层(behaviorlayer)负责回答“内容应该如何对事件做出反应”这一问题。

这是Javascript语言和DOM主宰的领域。

使用(X)HTML去搭建文档的结构。

使用CSS去设置文档的呈现效果。

使用DOM脚本去实现文档的行为

如何居中一个浮动元素?

方法一:

让最外面的层相对定位,left等于50%,然后内部嵌套层也使用相对定位且left设为-50%,这样的效果就是内层相对整行为水平居中;

方法二:

使用display:

table;

方法三:

直接使用table布局(使用太多table容易让结构看起来比较混乱,其实页面中使用少量的table,只要不要嵌套使用,还是可以实现使用少量CSS,达到最好的效果的),这种方法这里就不举例演示了。

如何让ie6,7,8,兼容html5的标签?

我一直使用公司里的提供的jqside插件,里面就是把html5的标签放到字符串,用字符串的split的方法变为数组,用while的方法,变量减减,用dom的createElement方法进行再ie678里创建标签。

if($.isIE678){

Varhtml5="abbr,article,aside,audio,canvas,datalist,details,dialog,eventsource,figure,footer,header,hgroup,mark,menu,meter,nav,output,progress,section,time,video".split(','),

i=html5.length;

while(i--)document.createElement(html5[i]);

}

在Css中那个属性会影响dom读取文档流的顺序?

Float

行内元素有哪些?

块级元素有哪些?

CSS的盒模型?

Css的盒模型:

从外到里,margin,border,padding,content。

块元素在页面里,占一行,可以设定宽和高,可以容纳块元素和行内元素。

常见的块元素有div,p,h1-h6,ul等。

行内元素没有宽和高的属性但可以与其他元素同一行,一般不可以包含块元素,行内元素的高度一般由元素内部的字体大小决定,宽度由内容的长度控制。

常见的行内元素有a,b,span,strong,em等。

CSS引入的方式有哪些?

link和@import的区别是?

内联引用CSS。

可灵巧应用样式於各标签中。

方便于编写代码时的使用。

没有整篇文件的“统一性”,在需要修改某样式的时候也变的比较困难。

内部引用CSS将样式规则写在标签之中。

外部引用link标签引用CSS将样式规则写在.css的样式文件中,再以标签引入。

这样引入该css样式表文件以后,就可以直接套用该样式档案中所制定的样式了。

外部引用@import引用CSS跟link方法很像,但必须放在中:

--@importurl(引入的样式表的位址、路径与档名);-->可以灵活的引入css文件对xhtml元素进行控制。

有时候也用来编写某些csshack。

这种方法的缺点:

在个别文件或元素的灵活度不足老祖宗的差别。

link属于XHTML标签,而@import完全是CSS提供的一种方式。

加载顺序的差别。

当一个页面被加载的时候(就是被浏览者浏览的时候),link引用的CSS会同时被加载,而@import引用的CSS会等到页面全部被下载完再被加载。

兼容性的差别。

由于@import是CSS2.1提出的所以老的浏览器不支持,@import只有在IE5以上的才能识别,而link标签无此问题。

使用dom控制样式时的差别。

当使用javascript控制dom去改变样式的时候,只能使用link标签,因为@import不是dom可以控制的。

CSS选择符有哪些?

哪些属性可以继承?

优先级算法如何计算?

内联和important哪个优先级高?

ID和CLASS

Class可继承;伪类A标签可以继承;列表UL,LI,DL,DD,DT可继承

优先级就近原则,样式定义最近者为准载入样式以最后载入的定位为准

优先级为:

!

important>id>class>tag;Important比内联优先级高

CSS层叠是什么?

介绍一下?

CSS翻译过来叫做层叠样式表。

运用到层叠的时候,主要就是靠CSS的组合与子选择器。

去编辑样式。

它的作用是定义网页的外观(例如字体,颜色等等),它也可以和javascript等浏览器端脚本语言合作做出许多动态的效果。

CSS指层叠样式表(CascadingStyleSheets)样式定义如何显示HTML元素样式通常存储在样式表中把样式添加到HTML4.0中,是为了解决内容与表现分离的问题外部样式表可以极大提高工作效率外部样式表通常存储在CSS文件中多个样式定义可层叠为一

html的意义?

HTML指的是超文本标记语言(HyperTextMarkupLanguage)

HTML不是一种编程语言,而是一种标记语言(markuplanguage)

标记语言是一套标记标签(markuptag)

HTML使用标记标签来描述网页

HTML标记标签通常被称为HTML标签(HTMLtag)

HTML标签是由尖括号包围的关键词,比如

HTML标签通常是成对出现的,比如

标签对中的第一个标签是开始标签,第二个标签是结束标签

开始和结束标签也被称为开放标签和闭合标签

介绍HTML5和CSS3(对比)?

HTML

5

还包含了新的语义化的元素标签,比如:

//使用getAttribute获取data-属性

varuser=document.getElementById('user');

varuserName=user.getAttribute('data-uname');//userName='愚人码头'

varuserId=user.getAttribute('data-uid');//userId='12345'

使用setAttribute设置data-属性

user.setAttribute('data-site','');

Position的四个属性详解

Position的四个属性:

static,fixed,absolute,relative

static,是position属性的默认值,也就是无特殊定位,遵循html定位规则。

fixed,是相对于浏览器窗口进行定位,不随页面的上下翻动而移动,比如固定在页面末端的二维码等。

absolute,它是相对于它的第一个父元素进行定位,如果你想让这个div#demo里的一个子div#sub相对于#demo定位在右上角的某个地方,应该给#demo相对定位,#sub绝对定位。

此时,它的第一个父元素就是id=demo的div;否则它的父元素就是body,这样它的位置在页面中保持不变,但是随着页面移动会发生变化(区别fixed)。

relative,relative是相对于自己来定位的,相对于其正常位置进行定位。

例如:

#demo{position:

relative;top:

-50px;},这时#demo会在相对于它原来的位置上移50px。

 

P.S:

采用左列left浮动,右列不浮动,采用margin-left定位的方式。

css中box和flex

首先'box'呐是比较早的语法,使用它时需要带上前缀,比如display:

-webkit-box;/ Chrome4+,Safari3.1,iOSSafari3.2+ /,而"flex"是2012年的语法,是css3新规定的,也将是以后标准的语法。

将父元素的display属性设置为-webkit-box(box),然后子元素通过属性-webkit-box-flex来指定一个框的子元素是否是灵活的或固定的大小,如上,定义两个灵活的p元素。

如果父级box的总宽度为300px,#P1将有一个100px的宽度,#P2将有一个200px的宽度,也就是呈固定比例划分。

当然了,也可以这样写:

pink;width:

500px;height:

500px;display:

flex">

orange;flex:

1.0;border:

1pxsolidred;">111

orangered;flex:

2.0;border:

1pxsolidblue;">222

当然了css3规定了,一系列的有关box的属性,比如 box-shadow。

JQ常见选择器?

,号选择器,分组选择器。

空格,祖父选择器。

>大于号,父子选择器。

+号选择器,紧接下一个兄弟选择器。

~号,元素之后所有的siblings元素。

first,:

last,:

not,:

first-child,:

last-child,:

animated.:

checked

jQuery插件实现方式,分别介绍?

jQuery.fn.extend封装直接在$下面的方法,就是根下面,

扩展jQuery元素集来提供新的方法(通常用来制作插件)。

$.extend用来在jQuery命名空间上增加新函数。

用一个或多个其他对象来扩展一个对象,返回被扩展的对象

批量的方法用fn,静态的用$.extend(),不建议用扩展到根下面。

bind和live的区别?

live方法其实是bind方法的变种,其基本功能就同bind方法的功能是一样的,都是为一个元素绑定某个事件,但是bind方法只能给当前存在的元素绑定事件,对于事后采用JS等方式新生成的元素无效,而live方法则正好弥补了bind方法的这个缺陷,它可以对后生成的元素也可以绑定相应的事件.

js和jq如何转换?

jQuery对象是通过jQuery包装DOM对象后产生的对象。

jQuery对象是jQuery独有的,其可以使用jQuery里的方法,但是不能使用DOM的方法;例如:

$("#img").attr("src","test.jpg");这里的$("#img")就是jQuery对象。

DOM对象就是Javascript固有的一些对象操作。

DOM对象能使用Javascript固有的方法,但是不能使用jQuery里的方法。

例如:

document.getElementById("img").src=“test.jpg";这里的document.getElementById("img")就是DOM对象。

$("#img").attr("src","test.jpg");和document.getElementById("img").src="test.jpg";是等价的,是正确的,但是$("#img").src="test.jpg";或者document.getElementById("img").attr("src","test.jpg");都是错误的。

DOM对象转成jQuery对象

对于已经是一个DOM对象,只需要用$()把DOM对象包装起来,就可以获得一个

jQuery对象了,$(DOM对象)

如:

varv=document.getElementById("v");//DOM对象

var$v=$(v);//jQuery对象

转换后,就可以任意使用jQuery的方法。

jQuery对象转成DOM对象

两种转换方式讲一个jQuery对象转换成DOM对象:

[index]和.get(index);

(1)jQuery对象是一个数据对象,可以通过[index]的方法,来得到相应的DOM对象。

如:

var$v=$("#v");//jQuery对象

varv=$v[0];//DOM对象

alert(v.checked);//检测这个checkbox是否被选中

(2)jQuery本身提供,通过.get(index)方法得到相应的DOM对象

如:

var$v=$("#v");//jQuery对象

varv=$v.get(0);//DOM对象($v.get()[0]也可以)

alert(v.checked);//检测这个checkbox是否被选中

通过以上方法,可以任意的相互转换jQuery对象和DOM对象,需要再强调的是:

DOM对象才能使用DOM中的方法,jQuery对象是不可以使用DOM中的方法

给出一个数组如何去掉重复的项?

实现一个把数组里面的重复元素去除的方法:

主要的是Array的prototype的方法。

vararr=[1,3,5,3,6,9,1,2,2]

vararr=['a','b','a','c','c','ab','bc']

functionremoveRepeat(arr){

vari,tmpArr=[];

for(iinarr){

if(tmpArr.join(',').indexOf(arr[i])==-1){

tmpArr.push(arr[i]);

}

}

returntmpArr;

}

varr=(arremoveRepeatr);

console.log(r);

二.方法:

Array.prototype.unique=function(){

vari,tmpArr=[];

for(iinthis){

if(typeofthis[i]!

='function'){

if(tmpArr.join(',').indexOf(this[i])==-1){

tmpArr.push(this[i]);

}

}

}

returntmpArr;

}

vararr=['a','b','a','c','c','ab','bc'];

varr=arr.unique();

console.log(r);

js如何实现面向对象?

varname='ChenHao';

varemail='haoel(@)';

varwebsite='';

varchenhao={

name:

'ChenHao',

email:

'haoel(@)',

website:

''

};

//以成员的方式chenhao.name;chenhao.email;chenhao.website;

//以hashmap的方式chenhao["name"];chenhao["email"];chenhao["website"];

//我们可以看到,其用function来做class。

varPerson=function(name,email,website){

this.name=name;this.email=email;this.website=website;this.

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2