🌟 JavaScript 编程练习题精选
一、基础篇:初识JavaScript
1. 暖场小练习:问候程序
/**
* 编写一个函数,根据当前时间返回不同的问候语:
* 6-12点 → "早上好!🌞"
* 12-18点 → "下午好!☕"
* 其他时间 → "晚上好!🌙"
*/
function timeGreeting() {
// 你的代码
}
2. 数字魔术师
/**
* 实现一个数字处理函数:
* 1. 如果是3的倍数 → 返回"Hi"
* 2. 如果是5的倍数 → 返回"Hello"
* 3. 同时是3和5的倍数 → 返回"HiHello"
* 4. 其他情况返回数字本身
*/
function numberMagic(num) {
// 你的魔法
}
二、进阶篇:数据结构舞会
1. 数组交响乐
/**
* 编写函数处理数组:
* 1. 过滤出所有偶数
* 2. 将每个数字平方
* 3. 结果按从大到小排序
*
* 示例输入:[7, 3, 2, 8, 5] → 输出:[64, 4]
*/
function arrayMaestro(arr) {
// 谱写你的乐章
}
2. 对象侦探
/**
* 找出两个对象的差异属性:
* 返回一个新对象,包含:
* 1. 只在obj1中存在的属性
* 2. 属性值不同的部分
*
* 示例:
* obj1 = {a:1, b:2, c:3}
* obj2 = {a:1, b:4, d:5}
* → 返回 {b:2, c:3}
*/
function objectDetective(obj1, obj2) {
// 开始你的侦查
}
三、实战篇:前端之光
1. DOM 艺术家
/**
* 实现一个函数:
* 1. 创建一个<div>元素
* 2. 设置随机背景色
* 3. 添加点击事件:点击时旋转360度
* 4. 添加到body中
*/
function createArtPiece() {
// 展现你的艺术
}
2. 异步大师
/**
* 顺序执行三个异步操作:
* 1. 获取用户数据(模拟API,耗时500ms)
* 2. 验证用户权限(模拟API,耗时300ms)
* 3. 获取用户内容(模拟API,耗时400ms)
*
* 要求使用async/await实现
*/
async function asyncMaster() {
// 展示你的异步魔法
}
四、挑战篇:思维之巅
1. 函数式编程花园
/**
* 不使用任何循环语句(for/while等):
* 实现数组扁平化+去重+排序
*
* 示例:
* 输入:[1, [2, 3], [4, [5, 4]]]
* 输出:[1, 2, 3, 4, 5]
*/
function functionalGarden(arr) {
// 培育你的函数式花园
}
2. 算法迷宫
/**
* 实现一个函数,判断字符串是否是有效括号组合:
* 有效条件:
* 1. 每个左括号必须有对应的右括号
* 2. 括号必须正确嵌套
*
* 示例:
* "()[]{}" → true
* "([)]" → false
*/
function bracketMaze(str) {
// 走出你的迷宫
}
愿你在这JavaScript的海洋中,既能享受编程的乐趣,又能收获知识的珍珠!✨
这一切,似未曾拥有