本篇文章是js基础练习题第十一天的答案及解析部分,纯题目部分请移步js基础练习题 第11天
正文
1.
1 | var tmp = 123; |
foo()会在控制台输出__________,运行foo()的返回值是__________。答案:undefined、undefined
在if语句中的var声明会提升到函数内部开始位置,即等价于:
1 | function foo() { |
2.
1 | const PI; |
console.log(PI);的返回值是__________。答案:报错(SyntaxError)
const声明必须进行初始化,即声明时必须显式赋值。
1 | const foo = {}; |
foo.name = __________ 。答案:Jealyn
const声明创建一个值的只读引用。但这并不意味着它所持有的值是不可变的,只是变量标识符不能重新分配
4.
1 | var a = 1; |
window.a = __________ , window.b = __________。答案:1、undefined
var声明的全局变量会自动变为window对象的属性,而let声明的变量不会。
5.JS中一共有几种声明变量的方法?请简要叙述它们的区别。
答案:
- 普通声明方式:
var和function,它们的典型特征是存在变量提升 - 块级作用域:
let和const,它们声明的变量都是具有块级作用域的,在一个块内不能重复声明,其中const声明时必须进行初始化操作 - 模块变量:
import,用于导入相应模块且可以修改变量名 - 定义类:
class,用于创建类
6.
1 | let [head, ...tail] = [1, 2, 3, 4]; |
head = __________,tail = __________。答案:1、[2, 3, 4]
1 | let[x, y, ...z] = ["a"]; |
x = _________,y = _________,z = __________。答案:”a”、undefined、[]
1 | var [x = 1, y = undefined] = [null, 2]; |
x = __________,y = __________。答案:null、2
关于解构赋值,请参看MDN 解构赋值
说明
- 题目中出现的JS指的是采用ECMAScript 2015及之后标准的JavaScript
答案中,若有错误和需完善的地方,可在下方留言反馈哈~~
查看纯习题版,请点击js基础练习题 第11天

