纵有疾风起
人生不言弃

测试javascript基础能拿多少分

测试一下你的Javascript基础能拿下多少分

非面试题,考察的都是js很基础的东西

l 填空题(第题1分)

  1. Js数据类型:_______ 、_______ 、_______ 、_______ 、_______ 、______ 、_______。

  2. ES6 新增数据类型______表示____________的值。

  3. 声明变量使用关键字______ 、______。

  4. 声明常量使用关键字______,常量在声明时必须______。

  5. 声明字符串类型的数据时,可以使用符号______ 、______ 、______ 。

  6. 模板字符串可以______行 , 如果要在模板字符串中引用变量使用______。

  7. 字符串表示真假值:______,数值表示真假值:______ 。

  8. “+”符号在__________________作字符串拼接符使用。

  9. typeof 关键字在检查数组与对象类型的数据时返回____________,检查函数时返回____________。

  10. 类型转换有两种分别是:______,______。将字符串强制转换为数字类型可以使用 ______、______ 、______ 。

  11. 写出的6个内置对象 ______、______、______ 、______ 、______ 、______ 。

  12. 数组中______从0开始计数,______从1开始计数,______属性表示数组的长度。

  13. JSON.stringify() 的作用:____________, JSON.parse() 的作用是:____________。

  14. 正则表达式中元字符 \D表示匹配____________,\d表示匹配____________。

  15. ____________获取当前节点的父级节点,____________获取当前节点的祖先节点。

  16. DOM中唯一操作cookie的属性是____________。

  17. 实现绑定事件的两个函数分别是:_________________、___________________。

  18. element.offsetLeft 计算元素到__________,_________计算元素到顶部的距离。

  19. 事件冒泡是___________将事件层层传递,而___________是从外向内传递事件。普通事件只支持___________,捕获与冒泡不能______________。

  20. 删除cookie 可以将__________________。

  21. 克隆元素使用___________。接收一个布尔值的参数,如果为____________则该节点的所有后代节点也都会被克隆,如果为____________则只克隆该节点本身。

  22. 定时器有两种:_________、_________。定时器代码不会____________主线程。

  23. 面向对象三大特征:______、______、______。

  24. ES6继承使用关键字_________,在子类构造方法中必须首先调用_______________,实例化子类会首先_______________。

  25. ____________返回 0 ~ 1 之间的随机数。

  26. 在数组与对象的数据操作中,数据 B 复制了数据 A 当修改数据 B 时不影响数据 A,叫作____________。

  27. p.name 访问对象成员使用 [] 方括号语法可以写成_______________。

  28. 函数中 return 关键字的作用:_______________________________________。

  29. 表达式 200 + 2 * 0 – true 的结果是____________。

  30. 阻止事件冒泡可以使用_________、_________。

l 选择题(每题 1 分)

  1. 循环语句中___终止当前离它最近的循环,___结束本轮循环继续下一次循环。
    A: baeck
    B: continue
    C: catch
    D: boolean

  2. this指向: ______ 。
    A: 在函数中,this 表示,this 表示全局对象。
    B: 在方法中,this 该方法所属的对象。
    C: 如果单独使用表示全局对象。
    D: 在事件中,this 表示接收事件的元素。
    E: setTimeout时this 指向全局对象使用箭头函数时this可以指向程序的上下文,(就是定义时所在的对象,而不是使用时所在的对象)

  3. 修改this 指向可以使用以下函数:___ 。
    A: func.call(thisArg, arg1, arg2, …)
    B: func.apply(thisArg, [argsArray])
    C: func.abbly(thisArg, [argsArray])
    D: func.bind(thisArg[, arg1[, arg2[, …]]])

  4. 以下数组操作描述错误的是 ___ 。
    A:length属性表示数组的长度,从0开始计数。
    B: “arr[arr.length] = 19;”,表示在数组的末尾处添加一相新的元素,数组长度不变。
    C:for/in 可以迭代出数组的下标,for/of迭代数组的元素值。
    D:“arr.sort()” 方法可以反转数组。

  5. 以下对象操作描述正确的是___。
    A:对象可以任务添加属性和方法。
    B:删除成功使用 ‘delete’ 关键字。
    C: ‘in’ 关键字可以检查对象是否是某个类的实例。
    D: instanceof 判断对象是否是某个类的实例,结果是boolean类型。

  6. 为字符串方法匹配正确的说明:‘search()’ ___、‘split()’___、‘replace() ’___、‘match()’___。
    A:字符搜索
    B:替换匹配到的字符串
    C: 分割字符串操作
    D: 匹配一个或多个规则

  7. 以下方法中可以获取到空白节点(文件节点)的方法是:___。
    A: element.lastElementChild
    B: element.previousElementSibling
    C: element.childNodes
    D: element.firstChild

  8. 对元素节点描述正确的是:___。
    A: 元素的节点类型为1。
    B: 元素的节点类型为3。
    C:‘element.nodeName’返回元素名称并且该名称为大写。
    D:‘element.nodeType’属性可读写。

  9. 以下事件中支持事件冒泡的事件有:___。
    A: onclick
    B: onmouseenter
    C: onmouseleave
    D: onmouseout

  10. 阻止默认事件:___。
    A: event.preventDefault()
    B: IE使用 return false
    C: event.stopPropagation()
    D: IE使用 return true

  11. 下面关于箭头函数描述正确的有___:。
    A: 箭头函数中没有参数时参数可以省略。
    B: 箭头函数没有语句时{}花括号可以省略。
    C: 省略参数时不能省略花括号。
    D: 省略花括号时 不能写retuan关键字。

  12. 表达式 5+’1’+1+1-1的结果是___。
    A: 数字5110
    B: 字符”5111”
    C: 数字 7
    D: 字符串”5110”

  13. 表达式 -1 && 0 && 1 结果:___
    A: 0
    B: false
    C: -1
    D: true

  14. 关于Bom描述正确的有:___。
    A: screen.back() 加载 history 列表中的前一个 URL
    B: location.reload() 重新载入当前文档
    C: window.class() 关闭当前窗口
    D: BOM 中最顶层对象是 window 对象。

  15. 关于 class 描述错误的有:___。
    A: class 是ES6定义类的新语法。
    B: constructor 构造函数, 在实例化时第一个被调用的函数,类成员要在 constructor 构造中定义。定义类时必须写constructor 否则报错。
    C: class 中成员方法间不允许使用 , 逗号分隔。
    D: static 修改静态属性和方法。

  16. Promise 三种状态______。
    A: pending
    B: fulfilled
    C: rejected
    D: starting

  17. 选出可以表示 boolean 为假的选项:______。
    A: undefined
    B: null
    C: ‘’
    D: Symbol(‘My symbol’)

  18. 从下面选出全局方法______。
    A: isNaN()
    B: parseInt()
    C: isNaN()
    D: concat()

  19. 关于 … 描述正确的有:___。
    A: 在函数中使用表示rest 参数(形式为…变量名),用于获取函数的多余参数。rest 参数搭配的变量是一个数组,该变量将多余的参数放入数组中。
    B: rest 参数可以替代 arguments 对象,并且在参数列表中只能有一个。
    C: … 可以在数组中使用,表示展开运算符。
    D: Set、Map对象可以使用…展开运算符。

  20. 事件委托描述正确的有:___。
    A: 可以让后续添加的元素直接拥有事件的形为,也就是直接就拥有事件,而不需要再单独指定事件。
    B: 事件委托必须把事件注册给父级元素。
    C: 只有绑定事件才能支持事件委托。
    D: 通过event.target 可以分辨是哪个元素触发的事件。

简答题(每题10分)

  1. 什么是事件委托?
  1. 编写一个返回5-10随机数的函数。
  1. 筛选出字符串 “qq号大全,984033324,1452245123-22q2222ddddd,456123” 中QQ号。
  1. 编写函数实现数组去重。
  1. 为下面HTML 添加事件,当点击Ii 时可以在控制台输入li中内容
<ul id="mul"> <li>苹果</li> <li>香蕉</li> <li>草莓</li> <li>樱桃</li></ul>
  1. 怎么将数组的浅拷贝改变为深拷贝,请举例说明
  1. 什么是命名空间?
  1. 简述 局部变量、全局变量、作用域链。
  1. 怎么批量添加元素并且保证高效率?
  1. 什么是递归?

Tip:如果阅读人数多的话我会公布一下答案
如果觉得不错记得点个赞,转载请注明出处,谢谢

文章转载于:https://www.jianshu.com/p/e4451245f0af

原著是一个有趣的人,若有侵权,请通知删除

未经允许不得转载:起风网 » 测试javascript基础能拿多少分

分享到: 生成海报

评论 抢沙发

评论前必须登录!

立即登录   注册

切换注册

登录

忘记密码 ?

切换登录

注册

我们将发送一封验证邮件至你的邮箱, 请正确填写以完成账号注册和激活