js基础练习题 第15天

在本栏中,我将记录一些JavaScript基础练习题,提升大家对JS的理解。
该篇文章是该系列的第十五天。

正文

1.
(function foo(a, b, c = 5){}).length = ____________,
(function foo(x, ...y){}).length = ___________,
(function foo([a, b, c]){}).length = ___________,
(function foo(x, ...y, z){}).length = ___________。

2.

1
2
3
4
var x = 1;
function f(x, y = x) {
console.log(y);
}
运行f(2)控制台将输出___________,运行f()控制台将输出___________。

3.
1
2
3
4
5
let x = 1;
function f(y = x){
let x = 2;
console.log(y);
}
运行f(2)控制台将输出___________,调用f()控制台将输出___________。假设没有第一行的变量声明,则运行f()控制台将输出___________。

4.试设计一个程序,能执行任意个数的加减法,如1 + 23 + 5 + 0.20.5 - 3.5 + 3 - 8等。



5.阅读以下代码:
1
2
3
4
5
6
7
var id = 123;
var handler = {
id: 456,
dosomething: function() {
console.log(this.id);
}
}
运行handler.dosomething()控制台将输出___________。
若把 dosomething改为dosomething: () => {console.log(this.id);}
则运行handler.dosomething()控制台将输出___________。

6.
{} == {}的返回值为___________,Object.is({}, {})的返回值为__________,Object.is(NaN, NaN)的返回值为__________,+0 === -0的返回值为__________,Object.is(+0, -0)的返回值为__________。

7.js一共有几种方法可以遍历对象的属性,试列举并指出区别。

说明

1.题目中出现的JS指的是采用ECMAScript 2015及之后标准的JavaScript

2.题目中,若有错误和需完善的地方,可在下方留言反馈哈~~

3.查看答案和解析,请点击js基础练习题第15天 答案及解析

--本文结束 感谢阅读--
创作十分不易,原创更应鼓励