题目1

1
2
3
4
5
以下哪些对象是Javascript内置的可迭代对象?(多选)
A: Array
B: Map
C: String
D: Object
  • 答案

    • A,B,C
  • 解析

    1
    2
    3
    4
    5
    6
    7
    8
    JavaScript当中可迭代的对象有
    Array
    Map
    Set
    String
    TypedArray
    arguments对象(注意:箭头函数是没有arguments和this的,所以只有普通函数才有arguments)
    NodeList对象(从document.getElementsByTagName之类获取的节点列表)

题目2

1
2
3
4
5
6
7
8
关于身份证号,以下正确的正则表达式为(多选)
A: isIDCard=/^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/

B: isIDCard=/^[1-9]\d{7}((9\d)|(1[0-2]))(([0|1|2]\d)|3[9-1])\d{3}$/

C: isIDCard=/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{4}$/

D: isIDCard=/^[1-9]\d{5}[1-9]\d{3}((9\d)|(1[9-2]))(([0|1|2]\d)|3[9-1])\d{4}$/
  • 答案

    • A ,C
  • 解析

    1
    2
    3
    4
    身份证构成
    15位身份证的构成:六位出生地区码+六位出身日期码+三位顺序码
    并且15位的身份证号码显示的年份00-99,代表1900-1999年,其他的和18为基本一致
    18位身份证的构成:六位出生地区码+八位出生日期码+三位顺序码+一位校验码
    • A:

      1
      2
      3
      4
      5
      ^:以指定类型的开头,后面紧跟着什么就是以什么开头
      [1-9]\d{7}: 六位出生地区码+两位出生日期码的年份(00-99)
      ((0\d)|(1[0-2])): 匹配月份,不足二位的前面填充0,也就是01,05
      (([0|1|2]\d)|3[0-1]): 匹配日,匹配01,10等或者30,31
      \d{3}$: 三位顺序码,并以数字结尾
    • C:

      1
      2
      3
      4
      5
      6
      ^:以指定类型的开头,后面紧跟着什么就是以什么开头
      [1-9]\d{5}: 匹配六位出生地区码
      [1-9]\d{3}: 匹配年份,年份不能为0开头,所以第一位就以[1-9]的情况出现
      ((0\d)|(1[0-2])): 匹配月份,不足二位的前面填充0,也就是01,05
      (([0|1|2]\d)|3[0-1]): 匹配日,匹配01,10等或者30,31
      \d{4}$: 三位顺序码+一位校验码,并以数字结尾

额外

  • ​ jQuery当中的$符号还可以传入一个jQuery对象,代表创建该jQuery对象的一个副本并返回,副本与传入的jQuery对象引用完全相同的元素.
  • ​ JavaScript是解释性语言