javascript
网页前端设计-作业三(JavaScript)
參考教材:HTML5網頁前端設計(第2版 )? 作者:周文潔
1 .?普通?(2分)如何使用JavaScript對浮點數進行四舍五入獲取最接近的整數值?
使用Math.round()方法。
2 .?普通?(2分)如何創(chuàng)建與調用自定義名稱的JavaScript函數?
使用關鍵詞function來創(chuàng)建自定義函數,例如: 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";若執(zhí)行var result = x + y;則result的最終值是___。
2020123
7 .?容易?(2分)在JavaScript中已知有var x=0;和var y = 99;若執(zhí)行var result = x1 && x2;則result的最終值是___。(區(qū)分大小寫)
false
0對應的是false,99對應的是true,&&表示并列關系邏輯與,因此有一個為假則整體為假,最終返回值是false。
8 .?容易?(2分)在JavaScript中已知有var x1 = isNaN("123");且有var x2 = isNaN("good");則執(zhí)行后x1的值是___,x2的值是___。(區(qū)分大小寫)
false、true
isNaN()用于檢測數據類型是否為數值,如果不是數值返回true,是數值返回false。
9 .?容易?(2分)在JavaScript中已知有var x= "99";和var y = "100";若執(zhí)行var result = x > y;則result的最終值是___。(區(qū)分大小寫)
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開始計算,因此倒序檢索第一次出現(xiàn)的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的值是"___"。(區(qū)分大小寫)
Hello、HelloWorld
當執(zhí)行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用于獲取字符串中第一次出現(xiàn)的位置序號,且從左往右開始、從序號0開始計算。因此第一次出現(xiàn)的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個符號之間的所有內容都會被認為是注釋內容,不會被瀏覽器所執(zhí)行。
20 .?普通?(2分)<p>如何使用JavaScript查找第一個出現(xiàn)的段落元素<p>?</p>
<p>使用var p = document.getElementsByTagName(“p”)方法先獲取全部的段落元素<p>,其中第一個出現(xiàn)的段落元素<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是區(qū)分大小寫的,同一個字母的小寫大于大寫。
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區(qū)分大小寫,因此沒有查到小寫字母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個單詞之間可以換行,以下哪句可以實現(xiàn)?( )。
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>標簽來實現(xiàn)換行。
28 .?容易?(2分)在JavaScript中,關于條件語句if…else以下哪個說法不正確?( )。
A. if語句可以單獨不使用,不配套else語句。
B. if語句必須和else語句搭配使用,不可以單獨出現(xiàn)。
C. 當有多個條件分支時,還可以在if和else語句之間加入一個或多個else if語句。
D. if語句的執(zhí)行內容可以是單行代碼也可以是多行代碼塊。
if語句可以單獨出現(xiàn),也可以和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,那么執(zhí)行時會發(fā)生錯誤,alert語句不會有運行結果顯示。
30 .?容易?(2分)在JavaScript中以下哪句可以創(chuàng)建一個新的段落元素<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")是創(chuàng)建一個新的段落元素<p>,這里Element不是復數形式不要加s結尾。更改樣式時屬性名稱改成camel標記法,即首個單詞全小寫,后面每個單詞首字母大寫,不要連字符。
31 .?容易?(2分)已知<button οnclick="test()"測試按鈕</button>,其中onclick事件表示什么意思?( )。
A. 用戶鼠標左鍵單擊按鈕時觸發(fā)onclick事件,執(zhí)行test()函數
B. 用戶鼠標左鍵雙擊按鈕時觸發(fā)onclick事件,執(zhí)行test()函數
C. 用戶鼠標右鍵單擊按鈕時觸發(fā)onclick事件,執(zhí)行test()函數
D. 用戶鼠標右鍵雙擊按鈕時觸發(fā)onclick事件,執(zhí)行test()函數
onclick是鼠標左鍵單擊事件。
32 .?容易?(2分)以下哪個是元素被鼠標左鍵點擊事件?( )。
A. onchange
B. onclick
C. ondbclick
D. onkeydown
onclick是鼠標左鍵點擊;ondbclick是鼠標左鍵雙擊;onchange是域的內容發(fā)生改變;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"; 那么執(zhí)行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()方法規(guī)定小數點后面保留幾位,該方法遵守四舍五入的規(guī)則。
39 .?容易?(2分)已知var x = 2e9000; 假設嘗試執(zhí)行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()指的是從左往右數首次出現(xiàn)的位置編號,且編號從0開始計數,因此y1的值是1。lastIndexOf()指的是從右往左數首次出現(xiàn)的位置編號,因此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中規(guī)定了一系列關鍵字和保留字不能作為變量或函數名稱,這里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()表示動態(tài)新建一個元素,且引號里面應該填某一個實際存在的元素標簽名稱例如div或p,而不是自定義名稱。document.getElementById("test");正確,這里面填的應該是id值,不是class值。
50 .?容易?(1分)以下哪種JavaScript的變量聲明是不規(guī)范的?( )。
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,不特別區(qū)分這是double還是int或者其他。
53 .?容易?(1分)JavaScript中以下哪種寫法只能用于單行注釋?( )。
A. <%--注釋 --%>
B. <!--注釋-->
C. /* 注釋 */
D. //注釋
在Web前端開發(fā)中,//注釋是JavaScript的單行注釋,<!--注釋-->是HTML的注釋,/* 注釋 */是CSS的注釋以及JavaScript的多行注釋,<%--注釋 --%>是JSP的隱式注釋。
總結
以上是生活随笔為你收集整理的网页前端设计-作业三(JavaScript)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 专业的PDF组件 Spire.PDF教程
- 下一篇: 利用JS中的循环语句来实现正方形、长方形