参考教材:HTML5网页前端设计(第2版 ) 作者:周文洁
1 . 普通 (2分)如何使用JavaScript对浮点数进行四舍五入获取最接近的整数值?
使用Math.round()方法。
2 . 普通 (2分)如何创建与调用自定义名称的JavaScript函数?
使用关键词function来创建自定义函数,例如: function welcome(){ alert("Welcome to JavaScript World"); } 函数可以通过使用函数名称的方法进行调用,例如welcome()。
3 . 普通 (2分)请分别说出下列内容中变量x运算结果。 (1)var x = 9+9; (2)var x = 9+"9"; (3)var x = "9"+"9";
(1)18 (2)99 (3)99。
加号左右都是数字时就做加法运算,有任意一边是字符时加号都当做连字符使用。
4 . 普通 (2分)如何使用警告对话框显示“Hello JavaScript"?
alert("Hello JavaScript");
5 . 普通 (2分)引用JavaScript外部脚本的正确写法是?在HTML页面中直接插入JavaScript代码的正确做法是何种标签?
外部脚本引用方法为:<script src="JavaScript文件URL"></script>。 在HTML页面中直接插入JavaScript代码的正确做法是<script>标签。
6 . 容易 (2分)在JavaScript中已知有var x = 2020; 且有var y = "123";若执行var result = x + y;则result的最终值是___。
2020123
7 . 容易 (2分)在JavaScript中已知有var x=0;和var y = 99;若执行var result = x1 && x2;则result的最终值是___。(区分大小写)
false
0对应的是false,99对应的是true,&&表示并列关系逻辑与,因此有一个为假则整体为假,最终返回值是false。
8 . 容易 (2分)在JavaScript中已知有var x1 = isNaN("123");且有var x2 = isNaN("good");则执行后x1的值是___,x2的值是___。(区分大小写)
false、true
isNaN()用于检测数据类型是否为数值,如果不是数值返回true,是数值返回false。
9 . 容易 (2分)在JavaScript中已知有var x= "99";和var y = "100";若执行var result = x > y;则result的最终值是___。(区分大小写)
true
虽然从数学概念上100应该大于99,但是有双引号说明是字符串,需要遵守字符串的同位置比较原则。第一次比较位置序号为0的字符,也就是比较x中的十位数9和y中的百位数1,因此9比1大,返回true。
10 . 容易 (2分)已知有var s="Happy_Day";且有var y=s.lastIndexOf("y");请问运行后y的值是___。
8
lastIndexOf用于从右往左检索指定的字符是否存在,并返回字符的位置序号。由于字符串是从左往右开始、从序号0开始计算,因此倒序检索第一次出现的y就是单词Day中的y在序号8的位置上。
11 . 容易 (2分)在JavaScript中假设有var k = 0xC;等同于十进制的数字 ___ 。
12
在JavaScript中,如果数字是0x开头后面再跟数字或A-F字母的话是十六进制表示法。本题的十六进制0xC转换成十进制是12。
12 . 容易 (2分)在JavaScript中,已知有var s1="Hello"; 且var s2="World";若有var s3 = s1.concat(s2);请问此时s1的值是"___", s3的值是"___"。(区分大小写)
Hello、HelloWorld
当执行s1.concat(s2)时不会影响s1和s2本身的值,因此s1的值不变还是Hello。而返回值会将这2个字符串合并,因此s3的值是HelloWorld。
13 . 容易 (2分)在JavaScript中假设有var x = 010; 等同于十进制的数字___。
8
在JavaScript中,如果数字是0开头后面再跟数字的话是八进制表示法。本题的八进制010转换成十进制是8。
14 . 容易 (2分)在JavaScript中假如有var x = 0.999; 且var y = x.toFixed(2);运行后y的值是___。
1.00
toFixed(2)是保留2位小数,但是遵守四舍五入原则。因此0.999先四舍五入变成1,然后补2位小数变成1.00。
15 . 容易 (2分)已知有var s="Happy New Year";且有var y=s.indexOf("y");请问运行后y的值是___。
4
indexOf用于获取字符串中第一次出现的位置序号,且从左往右开始、从序号0开始计算。因此第一次出现的y就是单词Happy中的y在序号4位置上。
16 . 普通 (2分)在JavaScript中,var x = .12;的写法是正确的,它等同于var x = 0.12;
正确
浮点数类型的小数点前面整数位为0可以省略。
17 . 普通 (2分)在JavaScript中,var x = 3e2;等同于var x = 3*3;
错误
18 . 普通 (2分)在HTML5页面可以使用<script>首尾标签嵌套来嵌入JavaScript代码。
正确
19 . 普通 (2分)在JavaScript中可以使用双斜杠(//)表示多行注释,将其写在代码块的首尾处即可。
错误
在JavaScript中多行注释使用/*开头,以*/结尾,在这2个符号之间的所有内容都会被认为是注释内容,不会被浏览器所执行。
20 . 普通 (2分)<p>如何使用JavaScript查找第一个出现的段落元素<p>?</p>
<p>使用var p = document.getElementsByTagName(“p”)方法先获取全部的段落元素<p>,其中第一个出现的段落元素<p>就是p[0]。 </p>
21 . 普通 (2分)在HTML5页面也可以使用<script src="js文件url地址"></script>的形式来引用外部JavaScript文件,引用语句必须放在<head>首尾标签中。
错误
引用语句可以放在<head>或者<body>首尾标签中均可。
22 . 普通 (2分)已知var x = -9/0;则x的返回值是NaN。
错误
x的返回值是-Infinity。只有特殊情况0/0的返回值是NaN。
23 . 普通 (2分)已知var x1="test", x2="TEST";那么x1>x2的返回值是true。
正确
字符串比大小时会左对齐然后从左往右依次比较,只要不相同能分出胜负就停下。在字母相同的情况下JavaScript是区分大小写的,同一个字母的小写大于大写。
24 . 普通 (2分)在JavaScript中假如有var x = 0.999; 且var y = x.toFixed(2);那么y的值是1。
错误
即使四舍五入进位后没有小数了,也得保留指定的位数,因此最后的y值是1.00
25 . 普通 (2分)已知有var s = "Happy";且var result = s.indexOf("h");那么result的值是0。
错误
由于JavaScript区分大小写,因此没有查到小写字母h的所在位置,返回默认值-1。如果查找的是大写字母H,才能返回值为0表示从左往右数第0位置(从0开始计数)。
26 . 容易 (2分)在JavaScript中用alert()弹出提示对话框,以下哪个符号可以用于其中的文本换行?( )。
A. \t
B. enter
C. <br>
D. \n
在JavaScript中,alert()允许支持转义字符\n表示文本换行。
27 . 容易 (2分)在JavaScript中已知有document.write("Hello World");如果希望显示内容时2个单词之间可以换行,以下哪句可以实现?( )。
A. document.write("Hello<span>World");
B. document.write("Hello<br>World");
C. document.write("Hello\tWorld");
D. document.write("Hello\nWorld");
在document.write()方法中,用<br>标签来实现换行。
28 . 容易 (2分)在JavaScript中,关于条件语句if…else以下哪个说法不正确?( )。
A. if语句可以单独不使用,不配套else语句。
B. if语句必须和else语句搭配使用,不可以单独出现。
C. 当有多个条件分支时,还可以在if和else语句之间加入一个或多个else if语句。
D. if语句的执行内容可以是单行代码也可以是多行代码块。
if语句可以单独出现,也可以和else语句配套使用。当有多个条件分支时,还可以加入若干个else if语句。
29 . 容易 (2分)在JavaScript中关于逻辑或(||)的用法以下描述不正确的是?( )。
A. alert(false||null);运行结果会显示null。
B. alert(false||NaN);运行结果会显示NaN。
C. 假设从未声明过变量x,那么alert(false||x);运行结果会显示undefined。
D. 假设从未声明过变量x,那么alert(true||x);运行结果会显示true。
如果声明过变量x但是没有赋值,那么alert(false||x);运行结果会显示undefined。如果从未声明过变量x,那么执行时会发生错误,alert语句不会有运行结果显示。
30 . 容易 (2分)在JavaScript中以下哪句可以创建一个新的段落元素<p>,并且设置该元素的背景颜色为银色(silver)?( )。
A. var p = document.createElements("p"); p.style.background-color = "silver";
B. var p = document.createElement("p"); p.style.backgroundColor = "silver";
C. var p = document.createElement("p"); p.style.background-color = "silver";
D. var p = document.createElements("p"); p.style.backgroundColor = "silver";
document.createElement("p")是创建一个新的段落元素<p>,这里Element不是复数形式不要加s结尾。更改样式时属性名称改成camel标记法,即首个单词全小写,后面每个单词首字母大写,不要连字符。
31 . 容易 (2分)已知<button οnclick="test()"测试按钮</button>,其中onclick事件表示什么意思?( )。
A. 用户鼠标左键单击按钮时触发onclick事件,执行test()函数
B. 用户鼠标左键双击按钮时触发onclick事件,执行test()函数
C. 用户鼠标右键单击按钮时触发onclick事件,执行test()函数
D. 用户鼠标右键双击按钮时触发onclick事件,执行test()函数
onclick是鼠标左键单击事件。
32 . 容易 (2分)以下哪个是元素被鼠标左键点击事件?( )。
A. onchange
B. onclick
C. ondbclick
D. onkeydown
onclick是鼠标左键点击;ondbclick是鼠标左键双击;onchange是域的内容发生改变;onkeydown是键盘按键被按下。
33 . 容易 (2分)已知var s1 = "Test"; 且var s2 = s1.toUpperCase();请问s2的值是以下哪个?( )。
A. Test
B. test
C. TEST
D. tEST
toUpperCase()用于将字符串中所有的字母都转化为大写字母。
34 . 容易 (2分)已知var x1 = "7", x2 = "10"; 那么执行alert(x1>x2)在对话框看到显示的最终效果是?( )。
A. true
B. false
C. 7>10
D. x1>x2
字符串比大小时,如果2个都是纯数字且位数不一样,仍然左对齐之后从左往右依次比大小,7比1大,因此已经得出结论为true。
35 . 容易 (2分)已知var x1=999, x2=0, x3="test", x4=null;那么Boolean(x1)、Boolean(x2)、Boolean(x3)以及Boolean(x4)的值依次是?( )。
A. false、true、true、true
B. true、true、true、false
C. true、false、true、false
D. false、true、false、true
0和null对应的Boolean转换值都是false,999(非0整数)和"test"(非空字符串)对应的Boolean转换值都是true。
36 . 容易 (2分)已知var x1=123, x2="Happy";那么isNaN(x1)和isNaN(x2)的值依次是?( )。
A. yes、no
B. false、true
C. no、yes
D. true、false
isNaN()指的是Not a Number(不是一个数字),且返回值是布尔值(只能是true或者false来表示真或假)。
37 . 容易 (2分)已知var x = 010;下列哪个说法是正确的?( )。
A. x是一个十进制数字,值是10。
B. x是一个十六进制数字,相当于十进制里面的10。
C. x是一个八进制数字,相当于十进制里面的8。
D. 以上说法都不对。
0x开头的才是十六进制数;0开头的是八进制数;十进制数不用0开头。
38 . 容易 (2分)在JavaScript中假如有var x = 3.1415926; 且var y = x.toFixed(2);以下说法正确的是?( )。
A. y的值是3.14
B. y的值是3.15
C. y的值是2
D. y的值是3.141596
在JavaScript中可以使用toFixed()方法规定小数点后面保留几位,该方法遵守四舍五入的规则。
39 . 容易 (2分)已知var x = 2e9000; 假设尝试执行alert(x);最终显示的结果是?( )。
A. NaN
B. 2e9000
C. Infinity
D. x
数字超出上限均显示为正无穷Infinity。
40 . 容易 (2分)如果有var x = 3.14e5;它等同于下列哪个选项的值?( )。
A. 3.14*e*5
B. 0.0000314
C. 3.1400000
D. 314000
e5表示10的5次方,这里就是3.14乘以10的5次方等同于314000。
41 . 普通 (2分)已知有var msg = "HappyBirthday";且var y1 = msg.indexOf("a");var y2 = msg.lastIndexOf("a");请问y1和y2的返回值分别是多少?( )。
A. y1的值是2,y2的值是12。
B. y1的值是2,y2的值是-2。
C. y1的值是1,y2的值是11。
D. y1的值是1,y2的值是-1。
indexOf()指的是从左往右数首次出现的位置编号,且编号从0开始计数,因此y1的值是1。lastIndexOf()指的是从右往左数首次出现的位置编号,因此y2的值是11。注:如果要查找的值不存在会返回-1。
42 . 容易 (2分)已知var s1="Happy"; var s2=" New";var s3=" Year";且var msg = s1.contact(s2,s3);以下哪句说法是正确的?( )。
A. msg和s1的值都被更新成了"Happy New Year"。
B. msg的值被更新成了"Happy New Year";s1的值被更新成了" New Year"。
C. msg和s1的值都被更新成了" New Year"。
D. msg的值被更新成了"Happy New Year";s1的值没更新,还是"Happy"。
在JavaScript中contact用于从左往右连接所有字符串,然后形成最新的返回值,因此msg的值是"Happy New Year"。s1的值不会受到影响。
43 . 容易 (2分)已知有字符串var s = "happy"; 那么以下哪句可以获取到里面的字母a?( )。
A. s.charAt(1)
B. s.charAt(2)
C. s.charAt(-1)
D. s.charAt(-2)
在JavaScript中使用charAt()方法获取指定位置上的单个字符,且从左往右编号是从0开始计数,因此首字母h在0号位,不难推出字母a在1号位。
44 . 容易 (2分)已知在JavaScript中有声明了一个字符串s,以下哪个选项可以获取该字符串的长度?( )。
A. s.size
B. s.length
C. s.size()
D. s.length()
s.length这里的length是String对象的属性,返回值就是字符串长度。
45 . 容易 (2分)假如alert(msg)之前从未对msg进行声明,则会显示什么结果?( )。
A. null
B. 0
C. undefined
D. false
当需要输出的变量从未声明过,或声明过但没有赋值,最终显示出来的都是undefined字样。
46 . 容易 (2分)以下哪个不是JavaScript的关键字或保留字?( )。
A. msg
B. function
C. if
D. else
JavaScript中规定了一系列关键字和保留字不能作为变量或函数名称,这里msg是自定义名称可以使用,不属于关键字或保留字。
47 . 容易 (2分)以下哪句是外部js文件的正确引用方式?( )。
A. <link rel="stylesheet" href="test.js" />
B. <link rel="stylesheet" src="test.js" />
C. <script src="test.js"></script>
D. <script href="test.js"></script>
<link rel="stylesheet" href="test.js" />是css样式表的引用写法,<script src="test.js"></script>才是正确的。
48 . 容易 (1分)已知<p id="test">hello</p>,然后有var x = document.getElementById("test");请问如何使用JavaScript将该段落元素内部的内容更新为HELLO?( )。
A. x = "HELLO";
B. x.innerHTML = "HELLO";
C. x.value = "HELLO";
D. x.replace = "HELLO";
x.innerHTML正确,表示更新该元素内部内容。
49 . 容易 (1分)已知<div id="test" class="style01"></div>, 以下哪句JavaScript代码可以获得该元素?( )。
A. var x = document.createElement("test");
B. var x = document.createElement("style01");
C. var x = document.getElementById("test");
D. var x = document.getElementById("style01");
document.createElement()表示动态新建一个元素,且引号里面应该填某一个实际存在的元素标签名称例如div或p,而不是自定义名称。document.getElementById("test");正确,这里面填的应该是id值,不是class值。
50 . 容易 (1分)以下哪种JavaScript的变量声明是不规范的?( )。
A. var hello;
B. var _hello;
C. var $hello;
D. var %hello;
变量声明时首位只能是字母、下划线_或美元符号$。
51 . 容易 (1分)已知var x=10; x+="1";此时x最终等于多少?( )。
A. 101
B. 11
C. 10“1”
D. 1
首先,+=是一种简写方式,相当于x = x+"1"; 其次,+号前后有一个是数字10,一个是用双引号括住的字符1,因此不能做加法运算,而是起到了连接作用。
52 . 容易 (1分)JavaScript技术中,变量的声明用到哪个写法?( )。
A. int
B. var
C. double
D. char
JavaScript是一种弱类型语言,因此所有变量都声明为var,不特别区分这是double还是int或者其他。
53 . 容易 (1分)JavaScript中以下哪种写法只能用于单行注释?( )。
A. <%--注释 --%>
B. <!--注释-->
C. /* 注释 */
D. //注释
在Web前端开发中,//注释是JavaScript的单行注释,<!--注释-->是HTML的注释,/* 注释 */是CSS的注释以及JavaScript的多行注释,<%--注释 --%>是JSP的隐式注释。