本篇文章是js基础练习题第十五天的答案及解析部分,纯题目部分请移步js基础练习题 第15天
正文
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、1、报错(SyntaxError
)
函数长度指的是函数形参中显式参数的个数,即除去默认参数、剩余参数之外的个数,且剩余参数(Rest parameter)必须位于末尾。
2.
1 | var x = 1; |
f(2)
控制台将输出___________,运行f()
控制台将输出___________。答案:2、undefined
3.
1 | let x = 1; |
f(2)
控制台将输出___________,调用f()
控制台将输出___________。假设没有第一行的变量声明,则运行f()
控制台将输出___________。答案:2、1、报错(ReferenceError
)
4.试设计一个程序,能执行任意个数的加减法,如
1 + 2
, 3 + 5 + 0.2
, 0.5 - 3.5 + 3 - 8
等。答案:如下代码块所示
1 | // 方法一:利用扩展运算符 |
5.阅读以下代码:
1 | var id = 123; |
handler.dosomething()
控制台将输出___________。若把
dosomething
改为dosomething: () => {console.log(this.id);}
则运行
handler.dosomething()
控制台将输出___________。答案:456、123
6.
{} == {}
的返回值为___________,Object.is({}, {})
的返回值为___________,Object.is(NaN, NaN)
的返回值为___________,+0 === -0
的返回值为___________,Object.is(+0, -0)
的返回值为___________。答案:false、false、true、true、false
7.js一共有几种方法可以遍历对象的属性,试列举并指出区别。
答案:js一共有5种遍历对象属性的方法。
for...in
:遍历自身和继承的可枚举属性(不含symbol
属性)Object.keys(obj)
:返回对象自身的所有可枚举属性(不含symbol
属性)Object.getOwnPropertyNames(obj)
:返回对象自身的所有属性(不含symbol
属性)Object.getOwnPropertySymbols(obj)
:返回对象自身的所有symbol
属性Reflect.ownKeys(obj)
:返回对象自身的所有属性
说明
- 题目中出现的JS指的是采用ECMAScript 2015及之后标准的JavaScript
答案中,若有错误和需完善的地方,可在下方留言反馈哈~~
查看纯习题版,请点击js基础练习题 第15天