"30个你 “ 不可能全部会做 ” 的javascript题目及答案"

需积分: 5 1 下载量 157 浏览量 更新于2024-01-17 收藏 178KB DOC 举报
本文总结了30个关于JavaScript的题目及其答案。这些题目旨在考查读者对JavaScript语法和特性的理解。以下是题目和答案的摘要: 1. 题目:以下表达式的运行结果是:["1","2","3"].map(parseInt) 答案:C. [0,1,2] 解释:parseInt函数接受两个参数,第一个是字符串,第二个是进制。map函数将数组中的每个字符串作为参数传递给parseInt函数,由于parseInt函数在解析时会将字符串转换为整数,所以"1"会被解析为0,"2"会被解析为1,"3"会被解析为2。 2. 题目:以下表达式的运行结果是:[typeof null, null instanceof Object] 答案:A. ["object",false] 解释:typeof null返回的是字符串"object",因为null被认为是一个特殊的空引用对象。null instanceof Object返回的是false,因为null不是Object的实例。 3. 题目:以下表达式的运行结果是:[[3,2,1].reduce(Math.pow),[].reduce(Math.pow)] 答案:B. [9,0] 解释:reduce()函数将数组中的元素从左到右依次应用一个函数来将其减少为单个值。Math.pow函数计算指定数字的指定次幂。在第一个表达式中,reduce()函数对[3,2,1]应用Math.pow函数,结果为9。在第二个表达式中,由于数组为空,reduce()函数无法应用,所以返回原始数组。 4. 题目:以下表达式的运行结果是:var val = 'value';console.info('Value id ' (val === 'value')?'Something':'Nothing'); 答案:B. Nothing 解释:表达式中缺少一个运算符"==",所以会报错。应将"==="替换为"=="来执行条件判断。 5. 题目:以下表达式的运行结果是:var name = 'World';(function(){if(typeof name === 'undefined'){var name = "Jack";c;} 答案:D. 其他 解释:由于在函数内部使用了var关键字重新声明了name变量,所以在函数内部的typeof name返回的结果是"undefined"。然而,由于JavaScript中的变量提升机制,函数内部的声明会被提升到函数的顶部,所以函数中的name变量实际上被重新赋值为"Jack",所以typeof name在函数外部返回的值是"string"。因此,具体的返回结果取决于函数内外的调用方式。 通过解答以上题目,读者可以加深对JavaScript语法和特性的理解,同时也可以了解一些常见的错误和陷阱。这些题目涵盖了不同的知识点,包括数组方法、运算符、类型检查等。希望读者通过掌握这些知识,能够在处理JavaScript代码时更加熟练和准确。