小编身边有好多朋友是做web前端的,前些日子其中的一位朋友去搜狗面试了,现在人家已经顺利入职了。记得这位朋友跟我说,搜狗的这套面试题据说当时有80%的人不及格,小编当时还挺不信的,这是多么神奇的面试题啊,居然有这么多人不及格,这不小编找到这位朋友,经过小编的软磨硬泡,现在这套面试题已经到小编的手里了,今天小编就把他分享给大家。
1.下列描述错误的是()
A.HTTP状态码302表示暂时性转移
B.domContentLoaded事件早于onload事件
C.IE6/7/8不支持事件捕获
D.localStorage存储的数据,在刷新页面后会消失
正确答案: D
本题知识点:HTML/CSS
参考解析:
Localstorage是html5存储数据的方式,在HTML5中,本地存储是一个window的属性,包括localStorage和sessionStorage。HTML5本地存储只能存字符串,任何格式存储的时候都会被自动转为字符串,所以读取的时候,需要自己进行类型的转换。是永久性存储,当然用户可以通过浏览器设置来删除。
2.以下Js程序的输出是什么()
<SCRIPT LANGUAGE="JavaScript">
var a="undefined";
var b="false";
var c="";
function assert(aVar){
if(aVar)
alert(true);
else
alert(false);
}
assert(a);
assert(b);
assert(c);
</SCRIPT>
A.true,true,true
B.true,true,false
C.false,false,true
D.false,false,false
正确答案: B
本题知识点:Javascript
参考解析:
变量abc都是字符串型的变量,而不是真正的undefined和false,在判断里都会被认为是真值,显示true,只有空串为false
3.正则表达式/^\d*\*[^\d]*[\w]{6}$/,下面的字符串中哪个能正确匹配?
A.***abcABCD_89
B.abc*abcABCDEF
C.123*abcABCD_89
D.123*ABCabcd-89
正确答案: A C
本题知识点:正则表达式
4.请问以上程序的输出是()
function Foo(){
var i=0;
return function(){
document.write(i++);
}
}
var f1=Foo(),
f2=Foo();
f1();
f1();
f2();
A.010
B.012
C.000
D.011
正确答案: A
参考解析:
这是一个闭包,闭包可以用在许多地方。它的大用处有两个,一个是前面提到的可以读取函数内部的变量,另一个就是让这些变量的值始终保持在内存中。
这里的局部变量i,对f1()来说是全局变量,对f2()来说也是全局变量,但是f1()的i跟f2()的i又是相互独立相互不可见的,f1()每执行一次,f1()的i就加一,f2()每次执行一次,f2()的i就加油,但是相互之间不影响,因此结果是010
5.以下哪个选项不是块级元素()
A.div
B.span
C.p
D.h1
本题知识点:HTML/CSS
参考解析:
大多数 HTML 元素被定义为块级元素或内联元素。“块级元素”译为 block level element,“内联元素”译为 inline element。
1.块级元素在浏览器显示时,通常会以新行来开始(和结束)。块级元素按照其应用于结构还是内容分为三种:结构化块状元素,终端块状元素,多目标块状元素。
结构化块状元素:这类元素用于构造文档的结构,没有语义上的含义,仅仅划分出了文档的组织方式,并没有体现文档的内容。
终端块状元素:这类元素用于从结构转向内容,拥有语义上的含义,能够表明内容的性质。终端块状元素属于结构的终点,它们不能再包含其他块级元素,只能包含文本或行级元素。
多目标块状元素:多目标指的是可以自由的扩展或嵌套文档的结构,以可以终端的形式出现。当多目标块状元素以结构化的方式使用时就含有结构化的内涵,以终端的形式使用就含有语义的内涵。
2.内联元素(inline element) 一般都是基于语义级(semantic)的基本元素,只能容纳文本或者其它内联元素。
A属于 多目标块状元素
C和D属于 终端块状元素
B:span 常用内联容器,定义文本内区块
6.以下哪一个选项是html5的dtd?
A<.!DOCTYPE html>
B.<!DOCTYPE HTML PUBLIC>
C.<!DOCTYPE xhtml>
D.<!DOCTYPE HTML5>
本题知识点:HTML/CSS
参考解析:
<!DOCTYPE >声明必须位于 HTML5 文档中的第一行,也就是位于 标签之前。该标签告知浏览器文档所使用的 HTML 规范。
doctype 声明不属于 HTML 标签;tag; 它是一条指令,告诉浏览器编写页面所用的标记的版本。
在所有 HTML 文档中规定 doctype 是非常重要的,这样浏览器就能了解预期的文档类型。
HTML 4.01 中的 doctype 需要对 DTD 进行引用,因为 HTML 4.01 基于 SGML。而 HTML 5 不基于 SGML,因此不需要对 DTD 进行引用,但是需要 doctype 来规范浏览器的行为(让浏览器按照它们应该的方式来运行)。
7.现有如下html结构
<ul>
<li>click me</li>
<li>click me</li>
<li>click me</li>
<li>click me</li>
</ul>
运行如下代码:
var elements=document.getElementsByTagName('li');
var length=elements.length;
for(var i=0;i
elements[i].onclick=function(){
alert(i);
}
}
依次点击4个li标签,哪一个选项是正确的运行结果()?
A.依次弹出1,2,3,4
B.依次弹出0,1,2,3
C.依次弹出3,3,3,3
D.依次弹出4,4,4,4
正确答案: D
本题知识点:HTML/CSS Javascript
参考解析:因点击为匿名函数,其执行到这里的时候 i 已是 4,即不会改变~
8.下面列出的浏览器,无webkit内核的是()
A.chrome
B.Safari
C.搜狗浏览器
D.firefox
本题知识点:HTML/CSS
参考解析:
浏览器 的内核引擎,基本上是四分天下:1)Trident: IE 以Trident 作为内核引擎;2)Gecko: Firefox 是基于 Gecko 开发;3)WebKit: Safari, Google Chrome,傲游3,猎豹浏览器,百度浏览器 opera浏览器;4)Presto: Opera的内核,但由于市场选择问题,主要应用在手机平台--Opera mini
注:2013年2月Opera宣布转向WebKit引擎
注:2013年4月Opera宣布放弃WEBKIT,跟随GOOGLE的新开发的blink引擎
HTML5热点新闻
前端开发技术库