黄色的标记为答案
青色的标记为解析,如果有整不明白的且需要解析的请留言哈
2019年下半年 Web前端开发初级 理论考试
(考试时间9:00-11:00 共120分钟)
一、单选题(每小题2分,共30小题,共60分)
- 在html中,下列哪些元素不是双标签元素的是():
A、title B、html C、img D、p
2.在html中,图片的下方有缝隙,去除这个缝隙的方法是():
- A)设置图片的border:0
- B)设置图片的border:none
- C)设置图片的font-size:0
- D)设置display:block
在HTML中,照片之间的间隙通常是由于图片标签之间的空格或换行符造成的。因此,我们可以通过去掉这些空格和换行符来解决这个问题。
具体方法如下:
(1)使用CSS
在CSS中,我们可以使用以下代码来去掉照片之间的间隙:
display: block;
float: left;margin: 0;padding: 0;
将图片的外边距和内边距都设置为0,从而去掉了照片之间的间隙。
(2)使用HTML注释
在HTML中,我们可以使用注释来去掉照片之间的间隙。
- 以下说法错误的是():
- A)html是编程语言
- B.)html是描述网页的语言
- C.)html是超文本标
- D.)html文件的扩展名可以是.html,也可以是.htm
- 在表单中,实现输入的数字只显示小圆点的type类型是():
A、text B、password C、radio D、checkbox
- 在css中,下列属于类选择器的是():
A、#box B、.box C、div>p D、div
- 由于各个浏览器的内核不同,所以会用符号让浏览器识别,下列只有IE6才识别的符号是():
- A、* B、_ C、*+ D、*:
浏览器识别字符标准对应表
1.大部分特殊字符IE浏览器支持,其他主流浏览器firefox,chrome,opera,safari不支持 (opera可识别除外)。
2. \9 :所有IE浏览器都支持
3. _和- :仅IE6支持
4. * :IE6、E7支持
5. \0 :IE8、IE9支持,opera部分支持
6. \9\0 :IE8部分支持、IE9支持
7. \0\9 :IE8、IE9支持
- 以下关于position的值说法正确的是():
- A)position:absolute是绝对定位,占据原有空间
瞎搞,绝对定位不占据原来的空间
B.)position:fixed是绝对定位,占据原有空间
瞎搞,绝对定位不占据原来的空间
C)position:relative是相对定位,是相对于自身位置移动,但是不占据原有空间
D.)position:relative是相对定位,是相对于自身位置移动,但是占据原有空间
- 让鼠标经过div元素后,元素放大2倍,下列代码正确是():
- A)div:hover{transform:scale(2)}
- B.)div:hover{transform:skey(2)}
- C)div:hover{transform:tansition(2)}
- C)div:hover{transform:rotale(2)}
- 让一个类名为“con”元素的右上角和左下角显示10px的圆角,以下书写正确的是():
- A).con{border-radius:10px 0}
- B).con{border-radius:0 10px 0 10px}
四个值的位置:顺时针-------左上角 右上角,右下角,左下角
C).con{border-radius:10px 10px 0 0}
D).con{border-radius:0px 0px 10px 10px}
- 在css3中,用来定义过渡动画的属性是():
A、transform 搞2d,3d变形的
B、keyframes 定义动画的 C、transition D、@font-face 搞字体的
- 关于css书写规范说法正确的是():
- A.)在需要写0.5的时候可以省略0,直接写.5
- B)margin后必须跟4个值
- C)z-index在任何情况下都可以使用
z-index属性值并不是在任何元素上都有效果。它仅在定位元素(定义了position属性,且属性值为非static值的元素)上有效果。
z-index无效的情况,一共有三种:
1、父标签 position属性为relative;
2、问题标签无position属性(不包括static);
3、问题标签含有浮动(float)属性。
D).以上说法都不正确
- 下面哪个符号是群组选择符():
A、> B、+ C、空格 D、,
- 实现下拉框中多选的属性是():
- A 、pattern B、maxlength C、multiple D、autofocus
Form表单控件的新增属性
- 在javascript中,关于运算符优先级正确的是():
- A 、算术运算符>逻辑运算符>比较运算符>赋值运算符
- B 、算术运算符>比较运算符>逻辑运算符>赋值运算符
- C 、比较运算符>算术运算符>逻辑运算符>赋值运算符
- D、比较运算符>逻辑运算符>算术运算符>赋值运算符
- 在javascript中,不属于一元运算符的是():
- + B、++ C、* D、--
一元运算符:++ -- + -
- 在javascript中,关于+的用法说法错误的是():
- A 、+可以用来做加法运算
- B 、+可以用来链接字符串
- C 、+是立即执行函数的符号
立即执行函数:声明一个函数,并马上调用这个匿名函数就叫做立即执行函数;即立即执行函数是定义函数以后立即执行该函数。
D.+号不能将字符串转数值
- 在javascript中,下列表达式为真的是():
- A 、(3>2)&&true
- B 、 ![]||("2">12)
![] false
("2">12) false
("2">"12") true
字符串类型的数值比较,比较的时第一个字符的大小
[] 一旦创建就是true,但是无论是否有数组元素,都不相等
[]==[] false
[0,1]==[0,1] false
- C 、[0]==true
当数组元素只有1个元素的时候,比较的就是数组当中的元素
0的Boolean值是false
数值的Boolean类型
0:false
非0数字:true
但是:+(-*/%)true:1
NaN:not a number false
parseInt(“飞飞,你好么”)==NaN
parseInt(“丹丹,你好么”)==NaN
NaN==NaN false
字符串的Boolean类型
“”:false
非空:true
Undefined:false
数组的Boolean类型
[] 一旦创建就是true,
[]==[] false
[0,1]==[0,1] false
当数组元素只有1个元素的时候,比较的就是数组当中的元素
- [“”][NaN] false
对象的Boolean类型
Null :false
{}:true
{}=={} false
{
Name:三星,
尺寸:6寸
}=={
Name:三星,
尺寸:6寸
}
- D 、Boolean("")
- 在javascript中,下列代码执行的结果是():
var a;
a:undefined ------false-----0
var b = a - 0;
非数值类型参与运算都是NaN
Undeifend-0:所以b为NaN
Null-0
“飞飞”-0
if (b == b) {
b == b:false
console.log(b * 2 + "2" - 0 + 4);
} else {
console.log(!b * 2 + "2" - 0 + 8);
!b==true==1
1*2+“2”=22
22-0+8=30
}
A、12 B、NaN C、30 D、报错
- 在javascript中,以下代码执行的结果是():
function test1(){
return
console.log(1)
Return 后面跟的是一个返回值
返回值其实就是数据类型:数值,字符串,对象,。。。。。
console.log(1)是一个方法(功能),
但是这个方法(功能)占一个空间(内存),一般空间(内存)我们用变量去表示
所以console.log(1)相当于我们给了一个变量,但是没有赋值
}
function test2(){
return 0
}
console.log(test1());
console.log(test2());
A、undefined,0 B、1,0 C、null,0 D、报错
- 在html中嵌入以下代码,在控制台输出的是():
<script>
console.log(a);
没有声明,直接赋值会报错
声明:var a,
console.log(a);--------undefined
</script>
<script>
var b=8;
console.log(b);
</script>
A、报错,报错 B、报错,8 C、报错,不输出任何内容 D、a,8
- 在javascript中,var arr=[3,45,8,9,12]以下执行错误的是():
- 执行arr.push(4)后,arr的值为[3,45,8,9,12,4]
- 执行arr.pop()返回12
- 执行arr.splice(1,2,"aa")后,arr的值为[3,"aa",8,9,12]
- 执行arr.shift()后,arr的值为[45,8,9,12]
- 在javascript中,日期对象里获取毫秒数的方法是():
A、getDay() B、getDate() C、getTime() D、getFullYear()
- 在javascript中,数学对象说法正确的是():
- Math.random()返回0-1之间的数,并包括0和1
- Math.max()返回最大值
- Math.ceil()是下取整
- Math.round()是上取整
- 在javascript中,阻止冒泡事件的方法是():
- event.returnValue = false;
- event.preventDefault()
- event.stopPropagation()
- 以上都不正确
- 在javascript中,返回上一页的代码正确的是():
- history.back()
返回上一页
- history.go(1)
跳转到下一页
- history.go(0)
跳转到当前页
- history.forward()
跳转到下一页
- 在jquery中,下面哪一个是用来给指定元素末尾追加元素的():
- inserAfter()
- append()
- appendTo()
- 以上都不正确
- 在jquery中,获取表单元素的值是方法是()
A、text() B、html() C、val() D、value()
- 在jquery的遍历中,要找到一个表格的指定行数的元素,用下面哪个方法()?
A、text() B、eq() C、get() D、contents()
- 在jquery中想要实现通过http get请求载入信息功能的是():
A、$.ajax() B、$.post() C、load() D、$.get()
- 在jquery中,选择id为box的元素,以下操作正确的是():
A、$(".box") B、$("#box") C、$("box") D、$(#box)
二、多选题(每小题2分,共15小题,共30分)
- html文件扩展名可以是以下哪几种()?
A、.php B、.html C、.asp D、.htm
- 下列属于单标签的是():
A、link B、img C、input D、form
- 关于文件命名正确的是():
A、1list.html B、product&show.html
- product-list.html D、product_show.html
Html命名规则:
字下美人数骆驼
数字不能开头
- 给div元素设置background:url("../img/icon-sprite.png") no-repeat -420px -277px;以下说法正确的是()
- div元素有背景图片,且背景图片放在img文件夹中
- img文件夹在当前文件的上一层文件夹中
- 背景图片不重复
- 背景图片的位置是向上移动了420px,向右移动了277px
- 关于link和import说法错误的是():
- @import是 CSS 提供的语法规则,只有导入样式表的作用
- link是HTML提供的标签,不仅可以加载 CSS 文件,还可以定义 RSS、rel 连接属性等
- 加载页面时,link标签引入的 CSS 在页面加载完才被加载
- @import引入的 CSS 在加载结构的时候同时被加载。
1、@import是 CSS 提供的语法规则,只有导入样式表的作用;link是HTML提供的标签,不仅可以加载 CSS 文件,还可以定义 RSS、rel 连接属性等。
2、加载页面时,link标签引入的 CSS 被同时加载;@import引入的 CSS 将在页面加载完毕后被加载。
3、@import是 CSS2.1 才有的语法,故只可在 IE5+ 才能识别;link标签作为 HTML 元素,不存在兼容性问题。
4、可以通过 JS 操作 DOM ,插入link标签来改变样式;由于 DOM 方法是基于文档的,无法使用@import的方式插入样式。
- css样式中的选择符说法正确的是():
- div>p 是选择div元素的子元素p标签
- div p是选择div元素的所有后代元素
- div+ul是选择div的所有兄弟元素ul
- div~ul是选择div元素后面的所有兄弟元素ul
- 需要设置div元素在可视窗口的右下角显示,需要定义哪些属性()
- position:absolute
- position:fixed
- right:0
- bottom:0
- CSS3新增的功能是()
A、盒子投影 B、文字投影 C、@media D、font-face
- 在javascript中,以下表达式为真的是():
- null==undefined
- null===undefined
- "2">"12"
- {}=={}
- 在javascript中,关于构造函数说法正确的是():
- 构造函数中会隐式的创建this对象
- 构造函数中的this指向实例对象
- 需要用new创建实例对象
- 构造函数和工厂函数无区别
- 在javascript中,将其他类型转为数值的方法是():
- Number()
- parseInt()
- parseFloat()
- 以上都正确
- 在javascript中,关于NaN说法正确的是():
- typeof(NaN)=="number"
typeof(NaN)是number类型
Number是字符串
所以值相等,但是数据类型是不一样的
- NaN==NaN
- NaN是特殊是数值
- 判断变量是不是数值用isNaN()方法
判断变量是不是NaN用isNaN()方法
- 在javascript中,关于数组说法正确的是():
- 可以用new关键词定义
Var arr1=new Array(); //构造函数写法
Var arr2=[]//字面量写法
- 数组长度一旦定义就不能修改
- 数组中的unshift()方法用来给数组的前面添加值
- 数组中的shift()是删除数组中的第一个值,且返回删除的值
- 在jquery中,下列哪一个方法是对添加移除类操作的():
A、addClass() B、removeClass() C、toggleClass() D、attr("class")
- 在jquery中,下面哪几个属于jquery的事件()?
A、onclick() B、click() C、hover() D、mouseover()
三、判断题(每小题2分,共5小题,共10分。在每小题后对应括号内填入判断结果,正确的选项填写“√”,错误的选项填写“×”)
1、在table标签中,用colspan属性来实现跨行。( ×)
- 在javascript中,break是用来终止程序执行,常用于if语句。(× )
一般用在for循环,switch。。。Case ,while,do。。。While
- 在javascript中,arguments是存储形参的。( ×)
//arguments是一个类似于数组的对象,可以获取实参,对应于传递给函数的参数,他有length属性,arguments[ i ]来访问对象中的元素,但是它不能用数组的一些方法。例如push、pop、slice等。
arguments虽然不是一个数组,但是它可以转成一个真正的数组。
function argText(a,b,c){
var actual = arguments.length; //实际传参个数
var hope = argText.length //期望传参个数
console.log(actual,hope);
//转换数组:
var args = [].slice.call(arguments); //第一种
var args = Array.prototype.slice.call(arguments); //第二种
let args = Array.from(arguments); //第三种
let args = [...arguments]; //第四种
console.log(args)
}
argText(1,2)
//输出: 2 3
4、CSS中设置阻止换行的属性是white-space:nowrap。(√ )
5、jquery和javascript没有关系。( ×)