js练习题第23天 答案及解析

本篇文章是js基础练习题第二十三天的答案及解析部分,纯题目部分请移步js基础练习题 第23天

正文

1.

1
2
3
4
function foo() { 
}
var oldName = foo.name;
foo.name = 'bar';
oldName = ___________,foo.name = ___________。

答案:"foo""foo"

函数的name属性是可读属性,尝试修改其值会静默失败。


2.var foo = function bar() {},则foo.name = ___________; var foo = function () {},则foo.name = ___________;var foo = () => {},则foo.name = ___________。

答案:"bar""foo""foo"

函数的name属性是指function关键字后面的标识符,若省略,则与赋值的变量名相同。


3.
1
2
3
var foo = function bar() {
return 1;
}
foo = ___________,foo() = ___________,bar = ___________,bar() = ___________。

答案:ƒ bar() { return 1; }1、报错(ReferenceError)、报错(ReferenceError)


4."1 2 3".replace(/\d/g, parseInt)的返回值为___

答案:"1 NaN 3"

parseInt(str, base)函数接收两个参数。在本题中传入的参数分别为(1, 0)(2, 2)(3, 4)


5.
1
var lower =  /^[a-z]+$/;
lower.test(null) = ___________,lower.test() = ___________,lower.test('') = ___________。

答案:truetruefalse

test函数会将nullundefinedtruefalse转换为相应的字符串形式。


6.[,,,].join(", ")的返回值为___________,[,,,].join()的返回值为___________,[,,,].join("")的返回值为___________。

答案:", , "",,"""

Array的尾逗号可忽略。当join函数不传参数时,相当于join(",")


7.Function.length === new Function().length的返回值为___________,Array.length === new Array().length的返回值为___________。

答案:falsefalse

Functon\Object\Arraylength值为1,而其未经过实例化的对象的length值默认为0


8.Date() === Date() = ___________,new Date() === new Date() = ___________。

答案:truefalse

Date()返回的是String类型,而new Date()返回Object类型。


9.Array() === Array() = ___________,new Array() === new Array() = ___________。

答案:falsefalse

Array()new Array()返回的都是Object类型。


10.Math.min() < Math.max() = ___________,Math.min(Math.max()) = ___________。

答案:false-Infinity

Math.min()是将传入值与Infinity中取最小值,Math.max()是将传入值与-Infinity中取最大值。


11.
1
2
var a = new Date("2019-05-05");
var b = new Date(2019, 05, 05);
a.getDate() === b.getDate() = ___________,a.getMonth() === b.getMonth() = ____________。

答案:truefalse

采用第二种写法时,实际上得到的应是6月。


12.
1
2
3
4
5
6
7
8
function foo(a) {
var a;
return a;
}
function bar(a) {
var a = 'bye';
return a;
}
[foo('hello'), bar('hello')]的结果为___________。

答案:["hello", "bye"]

说明

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

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

  3. 查看纯习题版,请点击js基础练习题 第23天

  4. 本文的大部分题目原型取自于JavaScript Puzzlers!。大家可前往查看原题,并且还可以在线做题,查看自己的完成情况。

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