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

wrgIht.png

**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.以下代码,输出的结果是?(选择一项)

wrRuIs.png

**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.代码在控制台的运行结果是?(选择一项)

wrWOBD.png

**A.**true,false

**B.**true,true

**C.**false,true

**D.**false,false

本题考察的是比较操作符。

==:相等,只比较值是否相等;===:相等,比较值的同时比较数据类型是否相等。a是数字10,b是字符串“10”,只比较数值的话,两者是相等的,即a==b返回true。但是它们的类型不相等,所以a===b返回false,本题答案为A。

# 7.代码在控制台输出的结果是?(选择一项)

wrfGE4.png

**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.代码在控制台输出的结果是? (选择一项)

wrfjMV.png

**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.代码在控制台运行的结果是?(选择一项)

wrhZqO.png

**A.**abc,0

**B.**abc, 39

**C.**abc,abc

**D.**0,0

本题考察的是逻辑操作符或。

||(只要有一个条件成立,则返回true,反之则返回false),如果第一个操作数隐式类型转化后为true,则返回第一个操作数;如果第一个操作数隐式类型转化后为false,则返回第二个操作数;

在第一句代码中,“abc” 隐式类型转化后为true,因此返回第一个操作数abc,在第二句代码中,0隐式类型转化后为false,因此返回第二个操作数abc。

所以本题答案为C。

# 10下面代码在控制台输出的结果是?(选择一项)

wrhGsf.png

A.“”,0,0

B.“”,NaN,0

**C.**null,NaN,0

**D.**null,NaN,undefined

本题考察的是逻辑操作符或。

||(只要有一个条件成立,则返回true,反之则返回false),如果所有的操作数返回的都是false ,那么就返回最后一个操作数 。这里面所有的操作数都是false,所以都是返回的最后一个操作数。

# 11.代码的运行结果是?(选择一项)

wrhgwF.png (opens new window)

**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.下面代码的运行结果是?(选择一项)

wrhIQx.png (opens new window)

**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.下面代码的运行结果是?(选择一项)

wr4kkQ.png

**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.观察如下代码,运行结果正确的选项是 ? (选择一项)

wytH3j.png

**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.代码在控制台的运行结果是?(选择一项)

wy4jUS.png

**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.代码在控制台的运行结果是?(选择一项)

wyNTZ6.png

**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.代码在控制台输出的结果是?(选择一项)

wyawBq.png (opens new window)

**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.代码在控制台输出的结果是?(选择一项)

wyd9PS.png

**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作为中介,交换两个变量的值。

  1. 定义一个变量c,把a赋值给c。
  2. 然后把b赋值给a,再把c赋值给b。
  3. 最后输出a和b交换之后的结果。
<script>
		let a = 666;
		let b = 999;

		let temp;

		temp = a;

		a = b;

		b = temp;

		console.log(a , b);
	</script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14

# 20.编码练习

wyDo1U.gif

# 21.编码练习

wyr8Nq.gif

  <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>
1
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.编码练习

wyro5t.gif

<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;
        }
      };
1
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