一些前端面试题

1.HTML 标签定义和用法


HTML <!DOCTYPE> 标签定义和用法

<!DOCTYPE> 声明位于文档中的最前面的位置,处于 <html> 标签之前。此标签可告知浏览器文档使用哪种 HTML 或
XHTML 规范。

该标签可声明三种 DTD 类型,分别表示严格版本、过渡版本以及基于框架的 HTML 文档。

以下面这个 <!DOCTYPE> 标签为例:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 在上面的声明中,声明了文档的根元素是
html,它在公共标识符被定义为 "-//W3C//DTD XHTML 1.0 Strict//EN" 的 DTD
中进行了定义。浏览器将明白如何寻找匹配此公共标识符的 DTD。如果找不到,浏览器将使用公共标识符后面的 URL 作为寻找 DTD 的位置。

提示和注释: 注释:<!DOCTYPE> 标签没有结束标签!

HTML HTML 4.01 规定了三种文档类型:Strict、Transitional 以及 Frameset。

2.块级元素和行内元素都有哪些?

块元素(block element)
* address - 地址
*
blockquote - 块引用
* center - 举中对齐块
* dir -
目录列表
* div - 常用块级容易,也是css layout的主要标签
* dl -
定义列表
* fieldset - form控制组
* form -
交互表单
* h1 - 大标题
* h2 - 副标题
* h3
- 3级标题
* h4 - 4级标题
* h5 - 5级标题
*
h6 - 6级标题
* hr - 水平分隔线
* isindex - input
prompt
* menu - 菜单列表
* noframes -
frames可选内容,(对于不支持frame的浏览器显示此区块内容
* noscript -
)可选脚本内容(对于不支持script的浏览器显示此内容)
* ol - 排序表单
* p -
段落
* pre - 格式化文本
* table - 表格
*
ul - 非排序列表

行内元素

* a - 锚点
* abbr - 缩写
* acronym -
首字
* b - 粗体(不推荐)
* bdo - bidi
override
* big - 大字体
* br - 换行
*
cite - 引用
* code - 计算机代码(在引用源码的时候需要)
* dfn -
定义字段
* em - 强调
* font -
字体设定(不推荐)
* i - 斜体
* img - 图片
*
input - 输入框
* kbd - 定义键盘文本
* label -
表格标签
* q - 短引用
* s - 中划线(不推荐)
*
samp - 定义范例计算机代码
* select - 项目选择
* small -
小字体文本
* span - 常用内联容器,定义文本内区块
* strike -
中划线
* strong - 粗体强调
* sub - 下标
*
sup - 上标
* textarea - 多行文本输入框
* tt -
电传文本
* u - 下划线
* var - 定义变量

3.挑错误

有这么一段HTML,请挑毛病:

<P>&nbsp;&nbsp;哥写的不是HTML,是寂寞。<br><br>&nbsp;&nbsp;我说:<br>不要迷恋哥,哥只是一个传说

考点1:html和 xhtml的区别
这行代码在html 4.01 strict下是完全正确的,在xhtml 1.0
strict下是错误一堆的。所以明显是一个考点。在xhtml下所有标签是闭合的,p,br需要闭合,
标签不允许大写,P要小写。同时nbsp和br必须包含在容器里。html下这些都不是错。p在html里是可选闭合标签,是可以不用闭合的。

这个考点告诉你xhtml是多么苛刻。这是基本考点,答对,你能拿到60分。

考点2:考样式分离
用nbsp控制缩进是不合理的。应该用CSS干这事。所以应该删掉nbsp

考点3:合理使用标签
br是强制折行标签,p是段落。原题用连续的br制造两个段落的效果,效果是达到了,但显然用的不合理,段落间距后期无法再控制。正确的做法是用两个p表现两个段落。“我说”后面是正常的文字折行用br是合理的。

上面全答对,你就能拿到100分。

对原题改进的结果:
html:
<p>哥写的不是HTML,是寂寞。<p>我说:<br>
不要迷恋哥,哥只是一个传说

xhtml:
<p>哥写的不是HTML,是寂寞。</p><p>我说:<br />
不要迷恋哥,哥只是一个传说</p>

加分:合理的用语义化标签
在前面的基础上合理的用语义化标签,对内容进行必要的标记,是加分的。但过度的使用标签,就画蛇添足了。如“我说”的话,可以用q标签标注。

<p>哥写的不是HTML,是寂寞。
<p>我说:<br>
<q>不要迷恋哥,哥只是一个传说</q>

我觉得这就够了,如果再进一步,“我”用cite标注,“HTML”
用abbr或acronym标注(至于再讨论abbr和acronym的区别就太较真了),也OK。再复杂就没必要了。

<p> 哥写的不是<abbr title=”Hyper Text Markup
Language”>HTML</abbr>,是寂寞。
<p><cite>
我</cite>说:<br> <q>不要迷恋哥,哥只是一个传说</q>

4.介绍所知道的CSS hack技巧(如:_, *, +, \9, !important
之类)


 1 <!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01//EN"
2
3 "http://www.w3.org/TR/html4/strict.dtd">
4 <htmllanghtmllang="en">
5 <head>
6 <metahttp-equivmetahttp-equiv="Content-Type"content="text/html;charset=utf-8">
7 <title>CSSBrowserHacks</title>
8 <styletypestyletype="text/css">
9 bodyp
10 {
11 display:none;
12 }
13 /*Opera*/
14 html:first-child#opera
15 {
16 display:block;
17 }
18 /*IE7*/
19 html>body#ie7
20 {
21 *display:block;
22 }
23 /*IE6*/
24 body#ie6
25 {
26 _display:block;
27 }
28 /*Firefox1-2*/
29 body:empty#firefox12
30 {
31 display:block;
32 }
33 /*Firefox*/
34 @-moz-documenturl-prefix()
35 {
36 #firefox{display:block;}
37 }
38 /*Safari*/
39 @mediascreenand(-webkit-min-device-pixel-ratio:0)
40 {
41 #safari{display:block;}
42 }
43 /*Opera*/
44 @mediaalland(-webkit-min-device-pixel-ratio:10000),
45 notalland(-webkit-min-device-pixel-ratio:0)
46 {
47 head~body#opera{display:block;}
48 }
49 </style>
50 </head>
51
52 <body>
53 <pidpid="opera">我来自Opera7.2-9.5</p>
54 <pidpid="safari">我是神奇的Safari</p>
55 <pidpid="firefox">我来自Firefox</p>
56 <pidpid="firefox12">我是FF前辈Firefox1-2</p>
57 <pidpid="ie7">我是囧IE7</p>
58 <pidpid="ie6">我是残品IE6</p></body>
59 </html>

1.区别IE和非IE浏览器


#tip{

background:blue;/*非IE背景藍色*/

background:red\9;/*IE6、IE7、IE8背景紅色*/

}

2.区别IE6,IE7,IE8,FF

【区别符号】:「\9」、「*」、「_」

【示例】:


#tip{

background:blue;/*Firefox背景变蓝色*/

background:red\9;/*IE8背景变红色*/

*background:black;/*IE7背景变黑色*/

_background:orange;/*IE6背景变橘色*/

}

【说明】:因为IE系列浏览器可读「\9」,而IE6和IE7可读「*」(米字号),另外IE6可辨识「_」(底线),因此可以依照顺序写下来,就会让浏览器正确的读取到自己看得懂得CSS语法,所以就可以有效区分IE各版本和非IE浏览器(像是Firefox、Opera、GoogleChrome、Safari等)。

5.一些CSS兼容性问题(偷懒。。。转别人整理的东西。。


6.JS相关


  1. HTTP协议的状态消息都有哪些?(如200、302对应的描述)

  2. AJAX是什么? AJAX的交互模型(流程)? AJAX跨域的解决办法?

  3. 同步和异步的区别?

  4. 简述JavaScript封装。

  5. JavaScript继承有哪两种形式形式,进行描述。

时间: 2024-10-18 08:44:01

一些前端面试题的相关文章

Web前端面试题集锦

Web前端面试题集锦 前端开发面试知识点大纲: 注意 转载须保留原文链接(http://www.cnblogs.com/wzhiq896/p/5927180.html )作者:wangwen896 HTML&CSS: 对Web标准的理解.浏览器内核差异.兼容性.hack.CSS基本功:布局.盒子模型.选择器优先级及使用.HTML5.CSS3.移动端适应. JavaScript: 数据类型.面向对象.继承.闭包.插件.作用域.跨域.原型链.模块化.自定义事件.内存泄漏.事件机制.异步装载回调.模板

web前端面试题系列:(一)

1.作用域问题 var a = 6; setTimeout(function () { alert(a); a = 666; }, 1000); a = 66; 结果:66 2.语义化标签 1)tite与h1的区别 2)b与strong的区别 3)i与em的区别 PS:不要小看这些题,80%人答不上来 3.事件绑定 addEventListener,第三个参数是用来表示事件是以事件冒泡还是事件捕获这个各位都知道!但是他问的问题是: 我们给一个dom同时绑定两个点击事件,一个用捕获,一个用冒泡,你

前端面试题 -- JS篇

前端面试题 -- JS篇 类型 1.js中有哪些数据类型,并解释清楚原始数据类型和引用数据类型 js中共有null,undefined, string,number,boolean,object六种数据类型. 原始数据类型: null,undefined, string,number,boolean 引用数据类型:object 两者的区别:1)值存储方式不同: 原始数据类型:将变量名和值都存储在栈内存中 引用数据类型:将变量名存储在栈内存中,将值存储在堆内存中,并在栈内存中存储值的地址,该地址指

web前端面试题整理(HTML篇)

web前端面试题整理(HTML篇)需要web前端课程工具和电子书,可以加: 33群105601600;  22群1203428331. h5的改进:新元素画布canvas: HTML5 <canvas> 元素用于图形的绘制,通过脚本 (通常是JavaScript)来完成音频audio视频video语义性: article,  nav ,  footer, section, aside, hgroup等.时间time 新属性拖放: draggable   <img draggable=&q

前端面试题2016--HTML

本文由我收集总结了一些前端面试题,初学者阅后也要用心钻研其中的原理,重要知识需要系统学习.透彻学习,形成自己的知识链.万不可投机取巧,临时抱佛脚只求面试侥幸混过关是错误的!也是不可能的!不可能的!不可能的! 前端还是一个年轻的行业,新的行业标准, 框架, 库都不断在更新和新增.正如赫门在2015深JS大会上的<前端服务化之路>主题演讲中说的一句话:“每18至24个月,前端都会难一倍”,这些变化使前端的能力更加丰富.创造的应用也会更加完美.所以关注各种前端技术,跟上快速变化的节奏,也是身为一个前

各大互联网公司前端面试题(js)

对于巩固复习js更是大有裨益.    初级Javascript: 1.JavaScript是一门什么样的语言,它有哪些特点? 没有标准答案. 2.JavaScript的数据类型都有什么? 基本数据类型:String,Boolean,Number,Undefined, Null 引用数据类型:Object(Array,Date,RegExp,Function) 那么问题来了,如何判断某变量是否为数组数据类型? 方法一.判断其是否具有“数组性质”,如slice()方法.可自己给该变量定义slice方

前端面试题关于JavaScript 这些你都会吗?

昨天我们一起分享了关于html和css的面试题<前端面试题之Html和CSS>,今天我们来分享关于javascript有关的面试题.我面试的时候最害怕面试官问我js了,因为我真心不擅长这个.不过我在努力的学习中. 本宝宝第一次面试的时候比这个还紧张呢!!! 1.介绍js的基本数据类型 Undefined.Null.Boolean.Number.String 2.js有哪些内置对象? 数据封装类对象:Object.Array.Boolean.Number 和 String 其他对象:Functi

常见前端面试题之HTML/CSS部分

转自http://www.cnblogs.com/jscode/archive/2012/07/10/2583856.html Doctype是什么?如何触发严格模式与混杂模式模式?区分它们有何意义? Doctype是document type(文档类型)的简写,是用来说明所用的XHTML或HTML是什么版本的.XHTML1.0 提供了三种DTD声明可供选择,分别是: 1.过渡的(Transitional,也叫混杂模式):要求比较宽松,允许继续使用HTML4.01的标识,完整声明为 <!DOCT

前端面试题 之 JavaScript

原文:前端面试题 之 JavaScript 昨天我们一起分享了关于html和css的面试题<前端面试题之Html和CSS>,今天我们来分享关于javascript有关的面试题.我面试的时候最害怕面试官问我js了,因为我真心不擅长这个.不过我在努力的学习中. 本宝宝第一次面试的时候比这个还紧张呢!!! 1.介绍js的基本数据类型 Undefined.Null.Boolean.Number.String 2.js有哪些内置对象? 数据封装类对象:Object.Array.Boolean.Numbe

前端面试题(JS篇)

原题地址:http://handyxuefeng.blog.163.com/blog/static/454521722013111714040259/ 好吧,最近打算换工作,所以关注比较多的是面试题,这套还不错,留下~~ 1.JS相关问题: 解释下事件代理(基础题) 解释下 JavaScript 中 this 是如何工作的(始终指向调用当前函数的对象) 解释下原型继承的原理. AMD vs. CommonJS? 什么是哈希表? 解释下为什么接下来这段代码不是 IIFE(立即调用的函数表达式):f