# 1.以下表达式的计算结果为?(选择一项)

**A.**1
**B.**19
**C.**16
**D.**0
本题考查运算符的优先级。
乘除法和取余的优先级高于加减法。但是加减法加上括号,优先级就会变最大。本题代码中,先分别计算4-1、6*2、5%2 。结果分别为3、12、1。然后再对结果进行相加,即3+12+1=16,所以本题答案为C。
# 2.Math.pow(3,0)计算结果是?(选择一项)
**A.**1
**B.**0
**C.**3
**D.**报错
本题考查幂的计算。
Math.pow(3,0)返回3的0次幂,任何数字的0次幂都等于1,所以本题答案为A。
# 3.以下代码,输出的结果是?(选择一项)

**A.**2,3
**B.**3,2
**C.**2,4
**D.**3,3
本题考查向上取整和向下取整的运用。
Math.ceil是向上取整,2.1向上取整为3。
Math.floor是向下取整,3.9向下取整为3。
所以两次输出结果都为3,本题答案为D
# 4.数字5和字符串"5"进行加减乘除运算,结果是什么?(选择一项)
**A.**10 0 25 1
**B.**NaN NaN NaN NaN
**C.**55 0 25 1
**D.**55 55 55 55
本题考察的是算数操作符。
在运算中,除了加法,其余的运算都会将字符串先转换为数字之后再进行计算,但是两个数据相加,如果有一方是字符串的话,加号的作用就是将他们进行拼接,所以数字5和字符串"5"进行加减乘除运算,结果分别是55,0,25,1。
本题答案为C。
# 5.下列关于比较操作符的描述正确的是?(选择两项)
A.==:相等,只比较数据类型是否相等
B.===:全等,比较值的同时比较数据类型是否相等
C.!=:不相等,比较值是否不相等
D.!==:不全等,只比较值是否不相等
本题考察的是比较操作符。
==:相等,只比较值是否相等,A中描述比较数据类型是否相等错误;
===:全等,比较值的同时比较数据类型是否相等,B说法正确;
!=:不相等,比较值是否不相等,C说法正确;
!==:不全等,比较值的同时比较数据类型是否不相等,D描述只比较值是否不相等错误。
所以本题答案为BC。
# 6.代码在控制台的运行结果是?(选择一项)

**A.**true,false
**B.**true,true
**C.**false,true
**D.**false,false
本题考察的是比较操作符。
==:相等,只比较值是否相等;===:相等,比较值的同时比较数据类型是否相等。a是数字10,b是字符串“10”,只比较数值的话,两者是相等的,即a==b返回true。但是它们的类型不相等,所以a===b返回false,本题答案为A。
# 7.代码在控制台输出的结果是?(选择一项)

**A.**time,0
**B.**90,29
C.##,29
D.##,0
本题考察的是逻辑操作符。
1、多个操作数时,当所有操作数隐式转换都为true,则返回最后一个操作数。
2、两个操作数时,如果第一个操作数隐式类型转换后为true,则返回下一个操作数;如果第一个操作数隐式类型转化后为false,则返回第一个操作数。
本题代码中,“time"、90、"##"三个操作数都可以转换为true,所以表达式“time"&&90&&"##"返回true。0隐式转换后为false,所以表达式0&&result返回0。
本题答案为D。
# 8.代码在控制台输出的结果是? (选择一项)

**A.**null,NaN,undefined
**B.**85,NaN,undefined
**C.*null,6“ab”,a
**D.*85,6“ab”,a
本题考察的是逻辑操作符。有以下几个比较重要的规则:
1、如果有一个操作数是null,则返回null。
2、如果有一个操作数是NaN,则返回NaN。
3、多个操作数时,当所有操作数都为真,则返回最后一个操作数。
4、如果有一个操作数是undefined,则返回undefined。
A中n&&sorce ,即null&&85返回null; B中sorce&&b&&6*"ab",即85&&true&&NaN返回NaN;C中a&&true,即undefined&&true返回undefined。所以本题答案为A。
# 9.代码在控制台运行的结果是?(选择一项)

**A.**abc,0
**B.**abc, 39
**C.**abc,abc
**D.**0,0
本题考察的是逻辑操作符或。
||(只要有一个条件成立,则返回true,反之则返回false),如果第一个操作数隐式类型转化后为true,则返回第一个操作数;如果第一个操作数隐式类型转化后为false,则返回第二个操作数;
在第一句代码中,“abc” 隐式类型转化后为true,因此返回第一个操作数abc,在第二句代码中,0隐式类型转化后为false,因此返回第二个操作数abc。
所以本题答案为C。
# 10下面代码在控制台输出的结果是?(选择一项)

A.“”,0,0
B.“”,NaN,0
**C.**null,NaN,0
**D.**null,NaN,undefined
本题考察的是逻辑操作符或。
||(只要有一个条件成立,则返回true,反之则返回false),如果所有的操作数返回的都是false ,那么就返回最后一个操作数 。这里面所有的操作数都是false,所以都是返回的最后一个操作数。
# 11.代码的运行结果是?(选择一项)
**A.**true,0,1
**B.**true,false,true
**C.**true,false,1
**D.**true,0,false
本题考察的是逻辑操作符非。
无论操作数是什么数据类型,逻辑非都会返回一个布尔值;!false取反是true,456本身是true,!456就是false,0是false,!0就是true。因此结果是true,false,true。
# 12.下面代码的运行结果是?(选择一项)
**A.**12,42
**B.**13,41
**C.**13,42
**D.**12,41
本题考察的是算数操作符与自增的综合运用。
其中,++num1,++在前,则会先自加再运算,因此var num3=++num1+num2 就等于13+29=42,因此num3=42,那么只要执行过这句代码(var num3=++num1+num2 ),num1就已经变成了13。所以num1=13,num3=42。
# 13.下面代码的运行结果是?(选择一项)

**A.**3,13
**B.**4,13
**C.**3,14
**D.**4,14
**本题考察的是算数操作符与自增的综合运用。**其中,num2++,++在后,则会先运算,运算完之后再自增。
因此var num3=num1+num2++ 就等于10+3=13,因此num3=13,但是执行过这句代码(var num3=num1+num2++)之后,num2才会变成4。所以num2=4,num3=13。
# 14.观察如下代码,运行结果正确的选项是 ? (选择一项)

**A.**3,5,8
**B.**2,5,7
**C.**2,4,8
**D.**2,4,7
本题考察的是算数操作符与自减的综合运用。
--在前会先自减再运算,--在后会先运算再自减。因此var num3=--num1+num2--就等于num3=2+5=7,即num3=7。运算完之后,num1和num2的值都会-1,即num1=2,num2=4。所以本题答案为D。
# 15.代码在控制台的运行结果是?(选择一项)

**A.**24,true
**B.**24,false
**C.**30,true
**D.**30,false
本题考察的是赋值运算符以及比较操作符。
a+=12意思是a的值加上12再赋值给a,即a=a+12=22; b%=3意思是把b除以3的余数赋值给b,20除以3的余数为2,,即b=2;那么a+b=24,a>b。输出的结果24,true,所以本题答案为A。
# 16.代码在控制台的运行结果是?(选择一项)

**A.**hello云牧帅逼,30
**B.**hello 云牧帅逼,30
**C.**hello云牧帅逼,11
**D.**hello 云牧帅逼,11
本题考察的是赋值操作符。
a+=b相当于a=a+b,即a=30;str+=”云牧帅逼”相当于str=str+"云牧帅逼",即str= hello 云牧帅逼。所以输出的结果为hello 云牧帅逼,30,本题答案为B
# 17.代码在控制台输出的结果是?(选择一项)
**A.**false,true
**B.**true, false
**C.**false,false
**D.**true,true
本题考察的是逻辑操作符与。
逻辑与(&&)表达式中,只要有一个条件不成立,则返回false。第一个输出语句中,sorce>result是成立的,num<result是不成立的,所以第一句返回false。第二个输出语句中,sorce>num和result<num都成立,所以第二句返回true。
本题答案为A。
# 18.代码在控制台输出的结果是?(选择一项)

**A.**false,true
**B.**true, false
**C.**false,false
**D.**true,true
本题考察的是逻辑操作符或。
逻辑或(||)表达式中,只要有一个条件成立,则返回true,所有条件都不成立则返回false。第一个输出语句中,55>78不成立,但45<58成立,因此返回true;第二个输出语句中,43>68和45<24都不成立,因此返回false。
本题答案为B。
# 19.现在有两个变量,分别为a=5和b=7,我们通过第三个变量c作为中介,交换两个变量的值。
- 定义一个变量c,把a赋值给c。
- 然后把b赋值给a,再把c赋值给b。
- 最后输出a和b交换之后的结果。
<script>
let a = 666;
let b = 999;
let temp;
temp = a;
a = b;
b = temp;
console.log(a , b);
</script>
2
3
4
5
6
7
8
9
10
11
12
13
14
# 20.编码练习

# 21.编码练习

<style>
* {
margin: 0;
padding: 0;
list-style-type: none;
}
#wrap {
width: 500px;
margin: 50px auto;
}
#text {
width: 100%;
height: 100px;
border: 1px solid #000;
resize: none;
/* 让textarea不可以调整大小 */
}
#btn {
float: right;
}
#list {
width: 100%;
margin-top: 30px;
}
#list li {
width: 100%;
line-height: 22px;
font-size: 14px;
color: #333;
text-indent: 2em;
padding: 10px 0;
border-bottom: 1px dotted #999;
}
</style>
</head>
<body>
<div id="wrap">
<textarea id="text"></textarea>
<input type="button" id="btn" value="提交" />
<ul id="list">
<li>1111</li>
</ul>
</div>
<script>
let oBtn = document.getElementById("btn"),
oArea = document.getElementById("text"),
oList = document.getElementById("list");
oBtn.onclick = function () {
let val = oArea.value;
// console.log(val);
if (val) {
oList.innerHTML += "<li>" + val + "</li>";
oArea.value = "";
}
};
</script>
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# 22.编码练习

<style>
* {
margin: 0;
padding: 0;
}
table {
width: 500px;
border-collapse: collapse;
margin: 50px auto 0;
}
td,
th {
height: 50px;
border: 1px solid black;
user-select: none;
text-align: center;
}
th {
height: 30px;
}
td span {
display: inline-block;
width: 30px;
height: 30px;
line-height: 30px;
text-align: center;
background-color: #666;
color: #fff;
cursor: pointer;
}
</style>
</head>
<body>
<table>
<tr>
<th>图片</th>
<th>单价</th>
<th>数量</th>
<th>价格</th>
</tr>
<tr>
<td id="img"><img src="./1.jpg" alt="" width="50px"></td>
<td id="unit-price">20</td>
<td id="quantity">
<span id="sub">-</span>
<span id="number">0</span>
<span id="add">+</span>
</td>
<td id="price">0</td>
</tr>
</table>
<script>
let oSub = document.getElementById("sub");
let oAdd = document.getElementById("add");
let oNum = document.getElementById("number");
let oPrice = document.getElementById("price");
let unit_price = document.getElementById("unit-price");
oAdd.onclick = function () {
let current = oNum.innerText;
current++;
oNum.innerText = current;
let p = current * unit_price.innerText;
oPrice.innerText = p;
};
oSub.onclick = function () {
let current = oNum.innerText;
current--;
// if (current < 0) {
// current = 0;
// }
if (current >= 0) {
oNum.innerText = current;
let p = current * unit_price.innerText;
oPrice.innerText = p;
}
};
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91


