本篇文章是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天