WEB前端开发笔试题
一、单选题
1、以下哪个单词不属于javascript保留字: ( B )
A.with B.parent C.class D.void
2、下面对于JavaScript中的单选按钮(radio)的说法正确的是: ( A )
A. 单选按钮可以通过单击“选中”和“未选中”来进行切换
B. 单选按钮没有checked属性
C. 单选按钮不支持onClick事件
D. 单选按钮的length属性表示同一组中单选按钮的数量
3、下面哪个是display布局中用来设置对象以块显示,并添加新行的? ( C )
A、inline B、none C、block D、compact
4、在jquery中想要找到所有元素的同辈元素,下面哪一个是可以实现的?
( C )
A、eq(index) B、find(expr)
C、siblings([expr]) D、next()
5、使用jquery检查<input type="hidden" id="id" name="id" />元素在网页上是否存在。(B )
A:if($("#id")) { //do someing... }
B: if($("#id").length > 0) { //do someing... }
C: if($("#id").length() > 0) { //do someing... }
D: if($("#id").size > 0) { //do someing... }
6、在jquey中,如果想要从DOM中删除所有匹配的元素,下面哪一个是正确的 (C )
A:delete() B:empty()
C:remove() D:removeAll()
7、在以下代码段中,哪些变量是全局变量? (D )
<script type="text/javascript">
var a = 1;
function foo() {
if (a == 1) {
var b = 2;
if (b == 2) {
c = 3;
}
}
}
foo();
</script>
(A) 只有a (B) a和c (C) b和c (D) a、b、c都是
8、执行下面的代码打印出的结果,正确的是: (A )
<script type="text/javascript">
alert(true + 1);
alert("3" + 0);
alert(5 + "12");
alert(undefined + 11);
</script>
(A) 2,30,512,NaN
(B) NaN,30,17,undefined
(C) 1,3,17,NaN
(D) NaN,30,512,11
9、执行下面的代码打印出的结果,正确的是: ( C )
<script type="text/javascript">
var a = 1;
function foo() {
var a = 2;
var b = 3;
alert(b);
c = 4;
}
alert(a);
foo();
alert(c);
</script>
(A) 2,3,4 (B) 1,3,出错 (C) 1,3,4 (D) 2,3,出错
10、有一个HTML文件,其源码如下,该文件被浏览器加载时,依次打印出来的信息正确的是: ( C )
<script type="text/javascript">
var show = function () {
alert(\'show_function\');
}
alert(\'script\');
</script>
<html>
<head>js Test</head>
<body onload="alert(\'onload\')">
<script type="text/javascript">
alert(\'in_body\');
</script>
</body>
</html>
<script type="text/javascript">
show();
</script>
(A) show_function,script,onload,in_body
(B) script,onload,in_body,show_function
(C) script,in_body,show_function,onload
(D) script,in_body,onload,show_function
二、填空题
1、在jquery中,想让一个元素隐藏,用_$().hide()_实现,显示隐藏的元素用_$().show()_实现。
2、看以下程序代码,写出输出结果
var length = 10
function fn() {
console.log(this.length)
}
var obj = {
length: 5,
method: function (fn) {
fn()
arguments[0]()
}
}
obj.method(fn)
输出结果:10 1
3、以下程序,请填写输出结果:
var a = 1
function func() {
a = b = 2
}
func()
a=__2____,b=___2___
4、以下程序,请填写输出结果:
var uname = \'jack\'
function change() {
alert(uname) // ?
var uname = \'lily\'
alert(uname)
}
change()
输出结果:__undefind__lily______
5、以下程序,请填写输出结果:
function change() {
alert(typeof fn) // ?
function fn() {
alert(\'hello\')
}
var fn
}
change()
输出结果:___function___
三、问答题
1.行内元素有哪些?块级元素有哪些?空元素有哪些?
行内元素:Span p button a img
块级元素:Div ul li
空元素:br img input
2.简述一下CSS的盒子模型,CSS选择符有哪些?哪些属性可以继承?优先级算法如何计算?内联和important哪个优先级高?
选择符:类型选择符(body)、标签选择符(h2 span)、ID选择符(#id)、Class选择符(.content)
优先级就近原则,同权重情况下样式定义最近者为准
important优先级高
3. 请描述一下 cookies、sessionStorage 和 localStorage 的区别?
4. 简述一下对HTML语义化的理解?
使用语义化标签标签,利于机器识别,利于SEO,开发人员也很容易明白
5. 怎样使用DOM操作添加、移除、移动、复制、创建和查找节点
添加 appendChild()
移除 removeChild()
复制 cloneNode()
创建createElement()
查找 getElementById()
6.写出几种javascript创建对象的方式?
7. setTimeOut和setInterVal有什么区别?请写出setTimeOut和setInterVal的用法以及各自取消执行的方法
setInterval 方法表示每间隔一段时间执行一次函数,会一直执行下去,除非手动 clearInterval 来停止
setTimeout 表示在延迟多长时间后执行函数,只会执行一次
8. 谈一谈你对ECMAScript6的了解,怎样用ECMAScript6语法写一个类
class Polygon {
constructor(height, width) {
this.height = height;
this.width = width;
}
}
9.闭包是什么,有什么特性,对页面有什么影响
闭包是在一个函数内部再写另一个函数,特性是可以获取其他函数内部的变量,影响是会引起内存泄漏
10.编写一个数组去重的方法
function unique(arr){
for(var i=0; i<arr.length; i++){
for(var j=i+1; j<arr.length; j++){
if(arr[i]==arr[j]){
arr.splice(j,1);
j--;
}
}
}
return arr;
}