web前端问题剖析Word文档下载推荐.docx
- 文档编号:19262684
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:9
- 大小:25.17KB
web前端问题剖析Word文档下载推荐.docx
《web前端问题剖析Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《web前端问题剖析Word文档下载推荐.docx(9页珍藏版)》请在冰豆网上搜索。
打开链接open()
发送send()
当ajax对象完成第四步(onreadystatechange)数据接收完成,判断http响应状态(status)200-300之间或者304(缓存)执行回调函数*/
二、
1.HTML部分
2.CSS部分
3.JavaScript部分
4.其他问题
HTML&
CSS:
对Web标准的理解、浏览器内核差异、兼容性、hack、CSS基本功:
布局、盒子模型、选择器优先级及使用、HTML5、CSS3、移动端适应
JavaScript:
数据类型、面向对象、继承、闭包、插件、作用域、跨域、原型链、模块化、自定义事件、内存泄漏、事件机制、异步装载回调、模板引擎、Nodejs、JSON、ajax等。
其他:
HTTP、安全、正则、优化、重构、响应式、移动端、团队协作、可维护、SEO、UED、架构、职业生涯
web前端工程师知识点:
1、DOM结构——两个节点之间可能存在哪些关系以及如何在节点之间任意移动。
2、DOM操作
——如何添加、移除、移动、复制、创建和查找节点等。
3、事件
——如何使用事件,以及IE和标准DOM事件模型之间存在的差别。
4、XMLHttpRequest——这是什么、怎样完整地执行一次GET请求、怎样检测错误。
5、严格模式与混杂模式——如何触发这两种模式,区分它们有何意义。
6、盒模型——外边距、内边距和边框之间的关系,及IE8以下版本的浏览器中的盒模型
7、块级元素与行内元素——怎么用CSS控制它们、以及如何合理的使用它们
8、浮动元素——怎么使用它们、它们有什么问题以及怎么解决这些问题。
9、HTML与XHTML——二者有什么区别,你觉得应该使用哪一个并说出理由。
10、JSON
——作用、用途、设计结构。
HTML
Doctype作用?
严格模式与混杂模式如何区分?
它们有何意义?
(1)、<
!
DOCTYPE>
声明位于文档中的最前面,处于<
html>
标签之前。
告知浏览器的解析器,用什么文档类型规范来解析这个文档。
(2)、严格模式的排版和JS运作模式是以该浏览器支持的最高标准运行。
(3)、在混杂模式中,页面以宽松的向后兼容的方式显示。
模拟老式浏览器的行为以防止站点无法工作。
(4)、DOCTYPE不存在或格式不正确会导致文档以混杂模式呈现。
行内元素有哪些?
块级元素有哪些?
空(void)元素有那些?
(1)CSS规范规定,每个元素都有display属性,确定该元素的类型,每个元素都有默认的display值,比如div默认display属性值为“block”,成为“块级”元素;
span默认display属性值为“inline”,是“行内”元素。
(2)行内元素有:
abspanimginputselectstrong(强调的语气)块级元素有:
divulollidldtddh1h2h3h4…p(3)知名的空元素:
<
br>
hr>
img>
input>
link>
meta>
鲜为人知的是:
area>
base>
col>
command>
embed>
keygen>
param>
source>
track>
wbr
link和@import的区别是?
(1)link属于XHTML标签,而@import是CSS提供的;
(2)页面被加载的时,link会同时被加载,而@import引用的CSS会等到页面被加载完再加载;
(3)import只在IE5以上才能识别,而link是XHTML标签,无兼容问题;
(4)link方式的样式的权重高于@import的权重.
浏览器的内核分别是什么?
*IE浏览器的内核Trident、Mozilla的Gecko、Chrome的Blink(WebKit的分支)、Opera内核原为Presto,现为Blink;
常见兼容性问题?
*png24位的图片在iE6浏览器上出现背景,解决方案是做成PNG8.*浏览器默认的margin和padding不同。
解决方案是加一个全局的*{margin:
0;
padding:
}来统一。
*IE6双边距bug:
块属性标签float后,又有横行的margin情况下,在ie6显示margin比设置的大。
浮动ie产生的双倍距离#box{float:
left;
width:
10px;
margin:
000100px;
}这种情况之下IE会产生20px的距离,解决方案是在float的标签样式控制中加入——_display:
inline;
将其转化为行内属性。
(_这个符号只有ie6会识别)渐进识别的方式,从总体中逐渐排除局部。
首先,巧妙的使用“\9”这一标记,将IE游览器从所有情况中分离出来。
接着,再次使用“+”将IE8和IE7、IE6分离开来,这样IE8已经独立识别。
css.bb{background-color:
#f1ee18;
/*所有识别*/.background-color:
#00deff\9;
/*IE6、7、8识别*/+background-color:
#a200ff;
/*IE6、7识别*/_background-color:
#1e0bd1;
/*IE6识别*/}*IE下,可以使用获取常规属性的方法来获取自定义属性,也可以使用getAttribute()获取自定义属性;
Firefox下,只能使用getAttribute()获取自定义属性.解决方法:
统一通过getAttribute()获取自定义属性.*IE下,even对象有x,y属性,但是没有pageX,pageY属性;
Firefox下,event对象有pageX,pageY属性,但是没有x,y属性.*解决方法:
(条件注释)缺点是在IE浏览器下可能会增加额外的HTTP请求数。
*Chrome中文界面下默认会将小于12px的文本强制按照12px显示,可通过加入CSS属性-webkit-text-size-adjust:
none;
解决.超链接访问过后hover样式就不出现了被点击访问过的超链接样式不在具有hover和active了解决方法是改变CSS属性的排列顺序:
L-V-H-A:
a:
link{}a:
visited{}a:
hover{}a:
active{}
html5有哪些新特性、移除了那些元素?
如何处理HTML5新标签的浏览器兼容问题?
如何区分HTML和HTML5?
*HTML5现在已经不是SGML的子集,主要是关于图像,位置,存储,多任务等功能的增加。
*绘画canvas用于媒介回放的video和audio元素本地离线存储localStorage长期存储数据,浏览器关闭后数据不丢失;
sessionStorage的数据在浏览器关闭后自动删除语意化更好的内容元素,比如article、footer、header、nav、section表单控件,calendar、date、time、email、url、search新的技术webworker,websockt,Geolocation*移除的元素纯表现的元素:
basefont,big,center,font,s,strike,tt,u;
对可用性产生负面影响的元素:
frame,frameset,noframes;
支持HTML5新标签:
*IE8/IE7/IE6支持通过document.createElement方法产生的标签,可以利用这一特性让这些浏览器支持HTML5新标签,浏览器支持新标签后,还需要添加标签默认的样式:
*当然最好的方式是直接使用成熟的框架、使用最多的是html5shim框架<
--[ifltIE9]>
script>
src="
[endif]-->
如何区分:
DOCTYPE声明\新增的结构元素\功能元素
语义化的理解?
用正确的标签做正确的事情!
html语义化就是让页面的内容结构化,便于对浏览器、搜索引擎解析;
在没有样式CCS情况下也以一种文档格式显示,并且是容易阅读的。
搜索引擎的爬虫依赖于标记来确定上下文和各个关键字的权重,利于SEO。
使阅读源代码的人对网站更容易将网站分块,便于阅读维护理解。
HTML5的离线储存?
localStorage长期存储数据,浏览器关闭后数据不丢失;
sessionStorage数据在浏览器关闭后自动删除。
(写)描述一段语义的html代码吧。
(HTML5中新增加的很多标签(如:
<
article>
、<
nav>
header>
和<
footer>
等)就是基于语义化设计原则)<
divid="
header"
>
h1>
标题<
/h1>
h2>
专注Web前端技术<
/h2>
/div>
iframe有那些缺点?
*iframe会阻塞主页面的Onload事件;
*iframe和主页面共享连接池,而浏览器对相同域的连接有限制,所以会影响页面的并行加载。
使用iframe之前需要考虑这两个缺点。
如果需要使用iframe,最好是通过javascript动态给iframe添加src属性值,这样可以可以绕开以上两个问题。
请描述一下cookies,sessionStorage和localStorage的区别?
cookie在浏览器和服务器间来回传递。
sessionStorage和localStorage不会sessionStorage和localStorage的存储空间更大;
sessionStorage和localStorage有更多丰富易用的接口;
sessionStorage和localStorage各自独立的存储空间;
如何实现浏览器内多个标签页之间的通信?
(阿里)
调用localstorge、cookies等本地存储方式
webSocket如何兼容低浏览器?
(阿里)
AdobeFlashSocket、ActiveXHTMLFile(IE)、基于multipart编码发送XHR、基于长轮询的XHR
CSS
介绍一下CSS的盒子模型?
(1)有两种,IE盒子模型、标准W3C盒子模型;
IE的content部分包含了border和pading;
(2)盒模型:
内容(content)、填充(padding)、边界(margin)、边框(border).
CSS选择符有哪些?
哪些属性可以继承?
优先级算法如何计算?
CSS3新增伪类有那些?
*1.id选择器(#myid)2.类选择器(.myclassname)3.标签选择器(div,h1,p)4.相邻选择器(h1+p)5.子选择器(ul<
li)6.后代选择器(lia)7.通配符选择器(*)8.属性选择器(a[rel="
external"
])9.伪类选择器(a:
hover,li:
nth-child)*可继承的样式:
font-sizefont-familycolor,ULLIDLDDDT;
*不可继承的样式:
borderpaddingmarginwidthheight;
*优先级就近原则,同权重情况下样式定义最近者为准;
*载入样式以最后载入的定位为准;
优先级为:
!
important>
id>
class>
tagimportant比内联优先级高
CSS3新增伪类举例:
p:
first-of-type选择属于其父元素的首个<
p>
元素的每个<
元素。
last-of-type选择属于其父元素的最后<
only-of-type选择属于其父元素唯一的<
only-child选择属于其父元素的唯一子元素的每个<
nth-child
(2)选择属于其父元素的第二个子元素的每个<
:
enabled:
disabled控制表单控件的禁用状态。
checked单选框或复选框被选中。
如何居中div?
如何居中一个浮动元素?
给div设置一个宽度,然后添加margin:
0auto属性
div{width:
200px;
0auto;
}
居中一个浮动元素
确定容器的宽高宽500高300的层设置层的外边距.div{Width:
500px;
height:
300px;
//高度可以不设Margin:
-150px00-250px;
position:
relative;
相对定位background-color:
pink;
//方便看效果left:
50%;
top:
}
列出display的值,说明他们的作用。
position的值,relative和absolute定位原点是?
1.block象块类型元素一样显示。
none缺省值。
象行内元素类型一样显示。
inline-block象行内元素一样显示,但其内容象块类型元素一样显示。
list-item象块类型元素一样显示,并添加样式列表标记。
2.*absolute生成绝对定位的元素,相对于static定位以外的第一个父元素进行定位。
*fixed(老IE不支持)生成绝对定位的元素,相对于浏览器窗口进行定位。
*relative生成相对定位的元素,相对于其正常位置进行定位。
*static默认值。
没有定位,元素出现在正常的流中*(忽略top,bottom,left,rightz-index声明)。
*inherit规定从父元素继承position属性的值。
CSS3有哪些新特性?
CSS3实现圆角(border-radius:
8px),阴影(box-shadow:
10px),对文字加特效(text-shadow、),线性渐变(gradient),旋转(transform)transform:
rotate(9deg)scale(0.85,0.90)translate(0px,-30px)skew(-9deg,0deg);
//旋转,缩放,定位,倾斜增加了更多的CSS选择器多背景rgba
一个满屏品字布局如何设计?
经常遇到的CSS的兼容性有哪些?
原因,解决方法是什么?
为什么要初始化CSS样式。
-因为浏览器的兼容问题,不同浏览器对有些标签的默认值是不同的,如果没对CSS初始化往往会出现浏览器之间的页面显示差异。
-当然,初始化样式会对SEO有一定的影响,但鱼和熊掌不可兼得,但力求影响最小的情况下初始化。
*最简单的初始化方法就是:
*{padding:
0;
}(不建议)淘宝的样式初始化:
body,h1,h2,h3,h4,h5,h6,hr,p,blockquote,dl,dt,dd,ul,ol,li,pre,form,fieldset,legend,button,input,textarea,th,td{margin:
padding:
}body,button,input,select,textarea{font:
12px/1.5tahoma,arial,\5b8b\4f53;
}h1,h2,h3,h4,h5,h6{font-size:
100%;
}address,cite,dfn,em,var{font-style:
normal;
}code,kbd,pre,samp{font-family:
couriernew,courier,monospace;
}small{font-size:
12px;
}ul,ol{list-style:
none;
}a{text-decoration:
}a:
hover{text-decoration:
underline;
}sup{vertical-align:
text-top;
}sub{vertical-align:
text-bottom;
}legend{color:
#000;
}fieldset,img{border:
}button,input,select,textarea{font-size:
}table{border-collapse:
collapse;
border-spacing:
absolute的containingblock计算方式跟正常流有什么不同?
position跟display、margincollapse、overflow、float这些特性相互叠加后会怎么样?
对BFC规范的理解?
(W3CCSS2.1规范中的一个概念,它决定了元素如何对其内容进行定位,以及与其他元素的关系和相互作用。
)
css定义的权重
以下是权重的规则:
标签的权重为1,class的权重为10,id的权重为100,以下例子是演示各种定义的权重值:
/*权重为1*/div{}/*权重为10*/.class1{}/*权重为100*/#id1{}/*权重为100+1=101*/#id1div{}/*权重为10+1=11*/.class1div{}/*权重为10+10+1=21*/.class1.class2div{}如果权重相同,则最后定义的样式会起作用,但是应该避免这种情况出现
解释下浮动和它的工作原理?
清除浮动的技巧
用过媒体查询,针对移动端的布局吗?
使用CSS预处理器吗?
喜欢那个?
SASS
如果需要手动写动画,你认为最小时间间隔是多久,为什么?
多数显示器默认频率是60Hz,即1秒刷新60次,所以理论上最小间隔为1/60*1000ms=16.7ms
display:
inline-block什么时候会显示间隙?
(携程)
移除空格、使用margin负值、使用font-size:
0、letter-spacing、word-spacing
JavaScript
1、Node.js的适用场景?
高并发、聊天、实时消息推送
2、介绍js的基本数据类型。
number,string,boolean,object,undefined
3、Javascript如何实现继承?
通过原型和构造器
4、如何创建一个对象?
(画出此对象的内存图)
functionPerson(name,age){this.name=name;
this.age=age;
this.sing=function(){alert(this.name)}}
5、事件是?
IE与火狐的事件机制有什么区别?
如何阻止冒泡?
1.我们在网页中的某个操作(有的操作对应多个事件)。
例如:
当我们点击一个按钮就会产生一个事件。
是可以被JavaScript侦测到的行为。
2.事件处理机制:
IE是事件冒泡、火狐是事件捕获;
3.ev.stopPropagation();
6、什么是闭包(closure),为什么要用它?
执行say667()后,say667()闭包内部变量会存在,而闭包内部函数的内部变量不会存在.使得Javascript的垃圾回收机制GC不会收回say667()所占用的资源,因为say667()的内部函数的执行需要依赖say667()中的变量。
这是对闭包作用的非常直白的描述.functionsay667(){//Localvariablethatendsupwithinclosurevarnum=666;
varsayAlert=function(){alert(num);
}num++;
returnsayAlert;
}varsayAlert=say667();
sayAlert()//执行结果应该弹出的667
7、js延迟加载的方式有哪些?
defer和async、动态创建DOM方式(用得最多)、按需异步载入js
8、Jquery与jQueryUI有啥区别?
*jQuery是一个js库,主要提供的功能是选择器,属性修改和事件绑定等等。
*jQueryUI则是在jQuery的基础上,利用jQuery的扩展性,设计的插件。
提供了一些常用的界面元素,诸如对话框、拖动行为、改变大小行为等等
9、针对jQuery的优化方法?
*基于Class的选择性的性能相对于Id选择器开销很大,因为需遍历所有DOM元素。
*频繁操作的DOM,先缓存起来再操作。
用Jquery的链式调用更好。
比如:
varstr=$("
a"
).attr("
href"
);
*for(vari=size;
i<
arr.length;
i++){}for循环每一次循环都查找了数组(arr)的.length属性,在开始循环的时候设置一个变量来存储这个数字,可以让循环跑得更快:
for(vari=size,length=arr.length;
length;
i++){}
11、对Node的优点和缺点提出了自己的看法?
*(优点)因为Node是基于事件驱动和无阻塞的,所以非常适合处理并发请求,因此构建在Node上的代理服务器相比其他技术实现(如Ruby)的服务器表现要好得多。
此外,与Node代理服务器交互的客户端代码是由javascript语言编写的,因此客户端和服务器端都用同一种语言编写,这是非常美妙的事情。
*(缺点)Node是一个相对新的开源项目,所以不太稳定,它总是一直在变,而且缺少足够多的第三方库支持。
看起来,就像是Ruby/Rails当年的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- web 前端 问题 剖析