10-测试题
码路教育 9/11/2022
# 1.js导读部分
- js有哪三部分组成
- js的三种书写方式是什么
- 什么是ES语法规范
- 什么是BOM
- 什么是DOM
- 代码的执行顺序是什么
# 2.js的输入输出
- js的输入方式有哪些
- js的输出方式有哪些
- js中alert,confirm和prompt的特点是什么
- js中控制台输出分几种?分别是什么
# 3.js中的变量
- 什么是变量?
- 请定义多个变量,分别表示姓名是张三 年龄是19 学校是北京大学 学院是光华管理学院
- 变量的命名要求是什么?
- 推荐变量命名的三种方式是什么?
- 请定义一个变量,用于接收我通过prompt输入的值,应该怎么写?
- (附加)打开页面后,弹出输入框,输入一个名字后,将该名字在页面上打印出来
# 4.js中的数据类型
- typeof 能判断哪些数据类型 不能判断哪些数据类型?
- 常见的数据类型有哪些?
- Number数据类型中 无穷大和无穷小如何表示
- 在JS中 最大的数和最小的数是多少?
- 什么是NaN 哪些情况下会出现NaN 如何判定一个变量是不是NaN
- String类型有什么特点?
- String类型中 转义字符是什么?常见的转义字符有哪些?
- 如何求一个字符串的长度
- 拼接字符串使用什么符号?
- 我现在有字符串 'abc', 'def' 现在定义一个变量a 值为1 需要输出abc1def 如何实现
- 请定义多个变量,分别表示姓名是张三 年龄是19 学校是北京大学 学院是光华管理学院,要求在页面内输出 我的名字是xxx 我是XXX学校XXX学院的
- 请说出 a=false 和a = 'false'的区别
- 请说出 转换为boolean是false的几种情况
- 请说出null和undefined的区别
- 请说出转换成字符串的方式 至少2种
- 请输出转换成数字的方式 至少2种
# 5.js中的运算符
- 请描述+-运算符的特点
- 请描述+= -=的意思
- 什么是表达式
- 请描述++a 和a++的异同
- 请说明关系运算符整体的值是什么样的
- 请描述逻辑中断的概念
- 请描述逻辑运算符表达式整体的值是如何得到的
- 请描述什么是三目运算符
- (附加)给一个四位数,拆分出每位是多少,比如1234,输出千位是1,百位是2,十位是3,个位是4
- (附加)给定一个秒数,换算成多少天多少小时多少分钟多少秒
# 6.js中的流程控制
- 请用自己的话简单描述什么是流程控制
- 需求:打开页面后输入一个成绩,成绩如果在0-60之间为e类 60-70为d类 70-80为c类 80-90为b类 90-100为a类
- 需求:以60分为及格线 打开页面后输入成绩 弹出是否及格
- 打开页面输入一个数字 如果是1-7内 则根据输入的值弹出对应的星期几 如不在 则弹出 输入值无效
- 请简述break和default的概念
- 请使用while语句 输出1-100以内所有的奇数
- 请使用while语句 输出1-100以内所有的偶数
- 请使用while语句 输出1-100以内所有数字的和
- 请使用while语句 输出1-100以内所有7的倍数
- 请使用while语句 输出1-100以内所有7的倍数的个数
- 请描述dowhile和while的区别
- 请使用for循环 输出20-50的所有数字的和
- 请使用for循环 输出20-50中3的倍数的个数
- 现在小明在操场上跑步,一圈400米,小明每跑一圈需要6分钟 当跑到第三圈的时候 岔气了 跑了8分钟,请问5圈总共用了多久?
- 在页面上打印一个5*5的星星矩阵
- 请描述continue是什么?
- 东方航空从北京飞往马尔代夫的机票原价为4000元,4到10月份为旺季,其他月份为淡季,旺季时候头等舱打9折,经济舱打7.5折;淡季头等舱打6折,经济舱打3折。输入出行的月份和选择的舱型计算出机票价格。
- 输出所有满足下列条件的四位数. 条件: 个位数字加百位数字等于千位数字加上十位数字, 且该该数为奇数.
- (附加)在页面上打印99乘法表
- (附加)请输入一个大于3的数,然后输出前n个斐波那契数
- (附加)百钱买鸡(鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,则翁、母、雏各几何?)
- (附加)求100以内所有素数的和
- (附加)求100以内的所有水仙花数
- (附加)给20块钱买可乐,每瓶可乐3块钱,喝完之后退瓶子可以换回1块钱,问最多可以喝到多少瓶可乐
- (附加)红球和白球共32个,红球和黑球28个,白球和黑球26个,问红、黑、白球各多少个?
- (附加)有一对幼兔,幼兔1个月后长成小兔,小兔1个月后长成成兔并生下一对幼兔,问8个月后有多少对兔子,幼兔、小兔、成兔对数分别是多少。
- (附加)求100-1000以内的所有回文数,即从前往后和从后往前读都一样的数字
- (附加)求100—1000以内所有的水仙花数,即每位的数字的三次方之和等于自身的
- (进阶)根据年月日三个变量,计算出是那一年的第几天
- (附加)在页面上输出1-1000以内所有同时能被3、5、7整除的数字,并要求每行6个显示在页面上
# 7.js中的数组
- 请定义一个数组, 里面有5个人的成绩,分别是98 98 99 96 92
- 对于数组[98, 98, 99, 96, 92] 求数组中的最大值
- 对于数组[98, 98, 99, 96, 92] 求数组中的最小值
- 对于数组[98, 98, 99, 96, 92] 删除数组中的最后一个成绩
- 对于数组[98, 98, 99, 96, 92] 删除数组中的第一个成绩
- 对于数组[98, 98, 99, 96, 92] 请计算删除第一个成绩和最后一个成绩后的平均分
- 如何求数组中的长度
- 对于数组[98, 98, 99, 96, 92] 现在有一个插班生 成绩为96 请把这个成绩添加到数组最后一位
- 对于数组[98, 98, 99, 96, 92] 请把另一位插班生的成绩添加到数组的最前面 成绩为91
- 现在有数组['hello', 'js'] 请将这个数组转换成字符串'hello js'
- 现在又字符串'abcde' 请将该字符串中的每一位字符拆分 然后弄成一个数组 如['a', 'b'...]
- 打开页面后输入一个字符串 将其拆分成数组 要求每一位字符是一个元素
- (附加)打开页面后输入 输入成绩 将其放到一个数组中 如果输入end表示结束
- 计算成绩[86, 95, 96, 59, 88]的平均分
- 打开页面后输入一个成绩 请判定该成绩是否在数组[86, 95, 96, 59, 88]中,如果在 弹出已存在 如果不在就添加到数组中后弹出已添加
- 遍历数组[1, 2, 3, 4, 5, 6, 4, 5, 6, 7]把其中的偶数放到一个新的数组然后输出
- 要求用户输入3个0-9的数字,输出0-9中那些数字用户没有输入过
- (附加)求最小乘积(例:45=335)因为为不可分割的质数
- (附加)对于数组[98, 98, 99, 96, 92] 去掉一个最高分 去掉一个最低分 求平均分
- (附加)对数组[98, 98, 99, 96, 92, 93, 94, 99, 96]去重后输出
- (附加)对数组[98, 98, 99, 96, 92, 93, 94, 99, 96]升序排序后输出
- (进阶)给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。比如var nums = [2, 7, 11, 15]; var target = 9; 那么最终你得到的结果是[0, 1]
# 8.js中的函数
- 请定义一个函数,在这个函数中有一个输出语句输出‘我是一个函数',然后执行该函数
- 请定义一个函数 有两个参数 返回值是两个参数的和 如果参数是字符串 就进行字符串的拼接并返回
- 什么是匿名函数 什么是具名函数
- 请定义一个函数 并传入一个数字参数 返回值是1到该数字中间所有数的和
- (附加)编写一个函数,只有一个参数,该函数的功能是将作为参数的数组中的每一个元素的值变成原来的130%,然后返回一个由变大后元素组成的新数组
- (附加)编写一个函数,只有一个参数,该函数的功能是将作为参数的数组去重并返回一个去重后的数组
- (附加)编写一个函数,两个参数,该函数功能是将作为第一个参数的数组中大于第二个参数数字的元素放到一个新的数组并返回
- (附加)编写一个函数,该函数有2个参数,该函数功能是将作为第一个参数的字符串从头开始截取第二个参数位数,并将截取的字符串返回
- (进阶)编写一个函数,如果使用的时候输入两个参数,则和上题功能一致,如果输入三个参数,则从第二个参数的索引位置开始截取,截取长度为第三个参数大小
- (进阶)罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 其对应的值是I:1 V:5 X:10 L:50 C:100 D:500 M:1000 例如, 罗马数字 2 写做 II ,即为两个并列的 1 。12 写做 XII ,即为 X + II 27 写做 XXVII, 即为 XX + V + II 。通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做 IIII,而是 IV。数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4 。同样地,数字 9 表示为 IX。这个特殊的规则只适用于以下六种情况: I 可以放在 V (5) 和 X (10) 的左边,来表示 4 和 9。X 可以放在 L (50) 和 C (100) 的左边,来表示 40 和 90。 C 可以放在 D (500) 和 M (1000) 的左边,来表示 400 和 900 现在编写一个函数 给定一个罗马数字作为参数,将其转换成整数返回。
- (进阶)给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。写成函数的形式 x作为参数
# 9.js中的对象
- 请定义一个对象 里面包含姓名,性别,年龄
- (附加)请定义一个对象 然后把该对象中的所有属性名放到一个数组中
- (附加)请定义一个对象 然后把该对象中的所有属性值放到一个数组中
- (进阶)现有数据stu=[{name:'张三', age:18, id:'001'}, {name:'李四', age:19, id:'002'}, {name:'王五', age:20, id:'003'}, {name:'赵六', age:21, id:'004'}]
- 上述数据情况下,写一个函数,返回值是大于20岁学生的名字组成的数组
- 上述情况下,写一个函数,返回值是id为003的学生的信息
- 上述情况下,写一个函数,返回值是年龄最大和年龄最小的学生的信息组成的数组