注:本书是由人民邮电出版社《JavaScript + jQuery 交互式前端开发》

第一章  初始JavaScript

一、填空题

1、单行注释以__ // ___开始。 

2、console.log(alert('Hello')) 在控制台的输出结果是___Undefined___。

3、JavaScript由___ECMAScript___、___DOM___、___BOM___三部分组成。

4、console.log('<script>alert(123);<\/script>') 的输出结果是______。

<script>alert(123);<\/script>

二、判断题

1、JavaScript不可以跨平台。( 

2、alert('test')与Alert('test')都表示以警告框的形式弹出test提示信息。(  )

3、在JavaScript中,如果一条语句结束后,换行书写下一条语句,后面的分号可以省略。( 对 

4、通过外链式引入JavaScript时,可以省略</script>标签。(  

5、async用于异步加载,即先下载文件,不阻塞其他代码执行。( 对 

6、JavaScript中,age与Age代表不同的变量。(对 

三、选择题

1、下列选项中不属于ECMAScript 6保留关键字的是(  )。

        A. delete   B. this   C. static    D. new

2、JavaScript为代码添加多行注释的语法为(  )。

C. /*  */  

3、下列选项中,不能作为变量名开头的是(  )。

        A. 字母      B.数字    C. 下划线   D.$

四、编程题

1、利用本章知识,编写一个将用户输入的信息输出到网页的JavaScript程序。

<script>
            var msg = prompt("请您输入信息");
            alert('用户输入的信息是:'+msg);
</script>

 第二章   JavaScript基础(上)

一、填空题

1、JavaScript中的数据类型分为两大类,分别是______和______。

基本数据类型、复杂数据类型

2、表达式(-5) % 3的运行结果等于____-2__。

3、表达式“var a = 1, b = 1;console.log(++a)”的输出结果是___2___。

二、判断题

1、JavaScript中的数字型可以用来保存整数或浮点数(小数)。(对 

2、console.log((3 + 6) * 2); 语句的输出结果为15。(

3、运算符“.”可用于连接两个字符串。(

三、选择题

1、 “console.log(true - 1)”语句输出的结果是( )。

B. 0  

2、下列选项中,与 0 相等(==)的是(  )。

                A. null         B. undefined       C. NaN              D. ''

        3、下列选项中,不属于比较运算符的是( )。

                A. ==     B. ===      C. !==     D. =

四、编程题

      1、根据用户输入的数值(数字1~7),返回对应的星期几。例如,7代表星期日、6代表星期六,依次类推。

<script>
    var num = prompt('请输入1-7之间的数字')
    switch(num){
                    case '1':
                    alert("今天是星期一");
                    break;
                    case '2':
                    alert("今天是星期二");
                    break;
                    case '3':
                    alert("今天是星期三");
                    break;
                    case '4':
                    alert("今天是星期四");
                    break;
                    case '5':
                    alert("今天是星期五");
                    break;
                    case '6':
                    alert("今天是星期六");
                    break;
                    case '7':
                    alert("今天是星期日");
                    break;
                    default:
                    alert("输入无效");
                }
</script>

        2、比较两个数的最大值(用户依次输入2个数,最后弹出最大的那个值)。

<script> 
var num1 = prompt("请您输入第一位数字");
            var num2 = prompt("请您输入第二位数字");
            var max;
            if(num1 > num2){
                alert('最大值是:'+num1);
            }
            else{
                alert('最大值是:'+num2);
            }
</script>

第三章 JavaScript基础(下)

一、填空题

         1、表达式“[a, b] = [12, 34, 56]”执行后,变量b的值为___34___。

continue____关键字,在循环语句中使用时,可以用来立即跳出本次循环。

二、判断题

三、选择题

          1、下列语句不能用于遍历数组的是(  )。

 D.if

        2、执行代码“var nums = [[2, 4], [6, 9]];console.log(nums[1][0]);”,输出结果正确的是( )。

C. 6  

        3、下列创建数组的方式,错误的是(  )。

                A.var arr = new Array();           B. var arr = [];

C.var arr = new array();    

四、编程题

        1、移出数组arr“[1,2,3,4,2,5,6,2,7,2]”中与2相等的元素,并生成一个新数组,不改变原数组。

<script> 
 var arr = [1,2,3,4,2,5,6,2,7,2];
            var newArr = [];
            for (var i = 0;i<arr.length;i++){
                if(arr[i] !=2){
                    newArr[newArr.length] = arr[i];
                }
            }

            console.log(newArr);
</script>

        2、请将数组“['苹果', '香蕉', '酥梨', '榴莲', '樱桃', '柿子', '葡萄', '哈密瓜', '西瓜']”中的元素依次打印到控制台。

<script>
    var arr = ['苹果', '香蕉', '酥梨', '榴莲', '樱桃', '柿子', '葡萄', '哈密瓜', '西瓜']; 
    for(var i=0;i<arr.length;i++){
      console.log(arr[i]);
    }  
</script>

 第四章   JavaScript函数

一、填空题

函数表达式___方式定义函数时,要考虑函数定义和执行的顺序。

函数作用域__和块级作用域。

1999___。

二、判断题

三、选择题

1、阅读以下代码,执行 fn1(4, 5) 的返回值是()。

function fn1(x, y) {
  return (++x) + (y++);
}

B.10  

 2、阅读以下代码,执行fn(7)的返回值是(  )。

var x = 10;
  function fn(myNum) {
var x = 11
  return x + myNum;
}

  A. 18  

3、下列选项中,可以用于获取用户传递的实际参数值的是(  )。

 D. arguments

四、程序分析题

  1、写出下面代码的运行结果。

<script>
    var a, b;
            (function() {
            alert(a);        // 输出结果:undefined
            alert(b);        // 输出结果:undefined
            var a = b = 3;
            alert(a);        // 输出结果: 3
            alert(b);        // 输出结果:3
        })();
            alert(a);        // 输出结果:undefined
            alert(b);        // 输出结果:3
</script>

2、以下代码执行后, num 的值是多少?

<script>
    var foo = function(x, y) {
            return x - y;
        };
            function foo(x, y) {
            return x + y;
        }
            var num = foo(1, 2);
            console.log(num);   // 结果为:-1
</script>

 第五章  JavaScript 对象

一、填空题

in___运算符。

random()___方法用来获取随机数,每次调用该方法返回的结果都不同。

Date()___是日期对象的构造函数。

getMonth___方法来获取月份,范围是0~11。 

二、判断题

对 

对 

三、选择题

        1、下面选项中,获取从1970-01-01 00:00:00距离Date对象所代表时间的毫秒数的是(  )。

      A. getTime()  

        2、下面选项中,删除数组的最后一个元素的方法是(  )。

    A. pop()  

        3、下列选项中,可以实现颠倒数组中元素的位置的是(  )。

    A. reverse()  

四、编程题

        1、利用String对象实现删除字符串前后空格字符。

<script>
    var str = ' abcabc '
    console.log(str.trim());
</script>

        2、请用对象字面量的形式创建一个名字为可可的狗对象,具体信息如下。

    名称:可可                                        类型(type):阿拉斯加犬

    年龄:5岁                                         颜色:棕红色

    技能:汪汪叫、摇尾巴

<script>
     var dog = {
        dName: '可可',
        type: '阿拉斯加犬',
        age: '5岁',
        color: '棕红色',
        call: function() {
        console.log('汪汪叫');
        },
        tail: function() {
          console.log('摇尾巴');
        }
      };
      console.log(dog.dName);
      console.log(dog.type);
      console.log(dog.age);
      console.log(dog.color);
      dog.call();
      dog.tail();
</script>