JavaScript 输入输出专项笔试真题(含详细解析)_第1页
JavaScript 输入输出专项笔试真题(含详细解析)_第2页
JavaScript 输入输出专项笔试真题(含详细解析)_第3页
JavaScript 输入输出专项笔试真题(含详细解析)_第4页
JavaScript 输入输出专项笔试真题(含详细解析)_第5页
已阅读5页,还剩1页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

JavaScript输入输出专项笔试真题(含详细解析)本套试题聚焦前端笔试高频考点,涵盖浏览器/Node环境输入获取、console输出、变量提升、作用域、异步输出、运算符输出等核心题型,题目贴合企业真实招聘笔试场景,解析通俗易懂,适合刷题巩固基础。一、基础输入获取考题(单选题)第1题在浏览器环境中,以下哪个方法可以获取用户页面弹窗手动输入的字符串内容?()A.alert()

B.prompt()

C.confirm()

D.input()答案:B详细解析:1.alert():仅用于弹出提示框,展示文本内容,无输入功能;2.prompt():弹出输入弹窗,接收用户手动输入的内容,返回值为字符串类型,用户取消输入则返回null;3.confirm():弹出确认弹窗,仅返回布尔值(确定true/取消false),无输入功能;4.input():并非原生JS弹窗输入方法,是部分编程语言的输入语法,JS浏览器环境不支持。第2题在Node.js环境中,用于获取终端控制台用户输入的核心模块是?()A.http

B.fs

C.readline

D.path答案:C详细解析:1.readline:Node.js原生内置模块,专门用于实现终端命令行的输入、读取用户输入内容;2.http:用于搭建服务、处理网络请求;fs:文件读写模块;path:文件路径处理模块,三者均无终端输入功能。第3题执行以下代码,用户输入数字123后,控制台打印结果是?()PlainText

letnum=prompt('请输入数字');

console.log(typeofnum);A.number

B.string

C.undefined

D.boolean答案:B详细解析:prompt()方法无论用户输入数字、文字、符号,最终返回值统一为字符串类型。若需要数字类型,需手动通过Number()、parseInt()等方法转换。本题用户输入123,变量num值为字符串'123',类型为string。二、基础输出考题(单选题+代码输出题)第4题以下关于console.log输出说法错误的是?()A.可以输出字符串、数字、对象、数组等任意数据类型

B.支持多个参数同时输出,参数之间自动空格分隔

C.输出对象时,会直接展示对象的全部底层源码

D.是前端调试最常用的控制台输出方法答案:C详细解析:console.log输出对象时,会以可展开的对象结构展示键值对,不会展示底层源码,因此C选项错误。其余选项均为console.log的正确特性。第5题写出以下代码的最终输出结果PlainText

console.log(1+'2'+3);

console.log(1+2+'3');答案:123、33详细解析:JS运算遵循从左到右优先级,字符串与任意类型相加会触发字符串拼接:1.第一行:1+'2'拼接为'12',再+3继续拼接,最终结果为'123';2.第二行:1+2为数字运算,结果3,再+'3'触发拼接,最终结果为'33'。第6题写出以下代码的输出结果PlainText

leta;

console.log(a);

console.log(b);

letb=10;答案:undefined、报错UncaughtReferenceError:bisnotdefined详细解析:1.let声明的变量存在暂时性死区,但变量声明会被提升,未赋值时默认值为undefined,因此console.log(a)输出undefined;2.代码执行到console.log(b)时,b仅声明未完成初始化赋值,处于暂时性死区中,无法被访问,直接触发引用报错。第7题写出以下var变量提升代码的输出结果PlainText

console.log(x);

varx=20;

console.log(x);答案:undefined、20详细解析:var声明的变量会声明提升、赋值不提升。代码执行前,变量x已被提升声明,初始值为undefined;第一次打印输出undefined;后续执行赋值操作x=20,第二次打印输出20。三、异步输出高频考题(重点笔试)第8题写出以下代码的执行输出顺序PlainText

console.log(1);

setTimeout(()=>{

console.log(2);

},0);

console.log(3);答案:1、3、2详细解析:JS存在宏任务、同步任务执行优先级:同步任务优先执行,宏任务滞后执行。1.console.log(1)、console.log(3)为同步任务,按顺序优先执行;2.setTimeout属于宏任务,即使延迟0毫秒,也会等待所有同步代码执行完毕后,再执行回调打印2。第9题写出以下嵌套定时器代码的输出结果PlainText

console.log('start');

setTimeout(()=>{

console.log('第一个定时器');

setTimeout(()=>{

console.log('第二个定时器');

},0);

},0);

console.log('end');答案:start、end、第一个定时器、第二个定时器详细解析:1.同步代码start、end优先执行完毕;2.外层定时器回调进入宏任务队列,同步代码结束后执行,打印「第一个定时器」;3.内层定时器是在第一个定时器回调执行时才创建,加入宏任务队列,等待当前回调执行完毕后,最后执行打印。四、综合编程题(输入+输出实战)第10题编写JS代码:通过弹窗获取用户输入的两个数字,计算两个数字的和并在控制台打印最终结果,需处理输入类型转换问题。参考答案:PlainText

//获取用户输入(默认字符串类型)

letnum1=prompt('请输入第一个数字');

letnum2=prompt('请输入第二个数字');

//类型转换并计算求和

letsum=Number(num1)+Number(num2);

//控制台输出结果

console.log('两数之和为:',sum);解析:必须通过Number()转换输入值类型,否则会出现字符串拼接问题。若不转换,用户输入10和20,会输出1020而非30,这是笔试高频易错点。第11题写出以下作用域代码的输出结果PlainText

vara=10;

functionfn(){

console.log(a);

vara=20;

console.log(a);

}

fn();答案:undefined、20详细解析:函数内部vara发生变量提升,覆盖全局a,函数作用域内声明优先于全局。代码执行时,先提升函数内a的声明,未赋值,第一次打印undefined;后续赋值20,第二次打印20。五、易错判断题(对的打√,错的打×)1.prompt()获取的输入内容,空输入时返回空字符串。()

2.console.log多个参数输出时,会自动拼接无空格。()

3.setTimeout回调函数属于同步执行代码。()

4.var变量可以变量提升,let/const无提升。()答案及解析

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论