JavaScript编程练习题精选 从基础到进阶的代码之旅

🌟 JavaScript 编程练习题精选

🌈 基础篇:初探JavaScript魅力

1. 星辰问候

/**
 * 编写函数,根据当前时间返回不同的问候语:
 * 6:00-12:00 "晨光熹微,早安!"
 * 12:00-18:00 "日正中天,午安!" 
 * 18:00-24:00 "暮色苍茫,晚安!"
 * 0:00-6:00 "夜阑人静,好梦!"
 */
function timeGreeting() {
  // 你的代码
}

2. 数字炼金术

/**
 * 实现数字转换功能:
 * - 能被3整除变为"铜"
 * - 能被5整除变为"银"
 * - 同时满足变"金"
 * - 否则保持原数字
 * 示例:15 → "金", 9 → "铜", 10 → "银", 7 → 7
 */
function alchemyTransform(num) {
  // 点石成金
}

🧩 逻辑篇:思维的舞蹈

3. 密码验证圆舞曲

/**
 * 验证密码强度,需满足:
 * - 长度8-20字符
 * - 包含大小写字母
 * - 至少一个数字
 * - 至少一个特殊字符!@#$%
 * 返回布尔值
 */
function isPasswordValid(password) {
  // 跳起安全的舞蹈
}

4. 斐波那契的月光奏鸣曲

/**
 * 使用递归和记忆化优化
 * 计算第n个斐波那契数
 * 示例:fib(10) → 55
 */
let memo = {};
function fibonacci(n) {
  // 谱写数学的旋律
}

🏗️ 实战篇:构建的艺术

5. 购物车建筑师

/**
 * 实现购物车功能:
 * 1. 添加商品(去重,数量增加)
 * 2. 移除商品
 * 3. 计算总价
 * 4. 应用折扣券(9折,8折,5折)
 */
class ShoppingCart {
  constructor() {
    this.items = [];
  }

  // 完善你的购物天堂
}

6. 天气观测塔

/**
 * 创建天气观测站:
 * - 订阅天气变化
 * - 取消订阅
 * - 通知所有订阅者
 * 使用观察者模式实现
 */
class WeatherStation {
  constructor() {
    this.observers = [];
    this.temperature = 0;
  }

  // 构筑气象的城堡
}

🚀 进阶篇:攀登JavaScript高峰

7. Promise远征队

/**
 * 实现Promise.allSettled的polyfill
 * 返回所有Promise的结果数组
 * 无论成功失败
 */
function allSettled(promises) {
  // 开启异步的远征
}

8. 函数式编程星河

/**
 * 实现函数组合:
 * compose(f,g,h)(x) → f(g(h(x)))
 * 使用reduce实现
 */
function compose(...funcs) {
  // 编织函数的星河
}

🎨 创意篇:编码如诗

9. 数字艺术画廊

/**
 * 生成并控制台输出金字塔数字艺术:
 *     1
 *    121
 *   12321
 *  1234321
 * 接收层数参数
 */
function numberPyramid(layers) {
  // 绘制数字的曼陀罗
}

10. 诗句生成器

/**
 * 根据输入词语自动生成七言诗:
 * - 保持平仄规则
 * - 押韵
 * - 使用词库匹配
 */
function poetryGenerator(keywords) {
  // 酿造文字的甘露
}

📚目录

评论 (0)

×

暂无评论,快来发表第一条评论吧

请输入验证码

×
验证码图片

©2025 - 菜鬼自学网 - 梦想不大创造神话~