当前位置:首页 > JavaScript

js实现简单的ATM机

2026-04-04 23:31:15JavaScript

实现功能需求

ATM机需要包含以下基本功能:用户登录验证、查询余额、存款、取款、退出系统。采用JavaScript实现一个控制台或网页交互的模拟程序。

数据结构设计

使用对象存储用户账户信息,例如:

const accounts = [
  { id: '123456', pin: '7890', balance: 1000 },
  { id: '654321', pin: '0987', balance: 500 }
];

登录验证模块

创建函数验证用户输入的卡号和PIN码:

function authenticate(id, pin) {
  return accounts.find(acc => acc.id === id && acc.pin === pin);
}

余额查询模块

通过账户对象直接返回当前余额:

function checkBalance(account) {
  return account.balance;
}

存款操作模块

验证存款金额后更新余额:

function deposit(account, amount) {
  if (amount > 0) {
    account.balance += amount;
    return true;
  }
  return false;
}

取款操作模块

检查余额是否充足后执行操作:

function withdraw(account, amount) {
  if (amount > 0 && amount <= account.balance) {
    account.balance -= amount;
    return true;
  }
  return false;
}

主流程控制

使用循环和条件语句构建交互逻辑(示例为控制台版):

let currentAccount = null;
while (true) {
  const choice = prompt('选择操作: 1-登录 2-查询 3-存款 4-取款 5-退出');

  switch(choice) {
    case '1':
      const id = prompt('输入卡号');
      const pin = prompt('输入PIN码');
      currentAccount = authenticate(id, pin);
      break;
    // 其他case处理剩余功能...
    case '5':
      process.exit();
  }
}

网页版实现要点

若需网页版本,可采用以下方式:

<div id="atm">
  <input type="text" id="cardInput" placeholder="卡号">
  <button onclick="handleLogin()">登录</button>
  <div id="operationPanel" style="display:none;">
    <!-- 功能按钮和显示区域 -->
  </div>
</div>

通过DOM操作显示/隐藏界面元素,使用事件监听处理用户交互。

安全增强建议

实际应用中应增加:

  • 输入尝试次数限制
  • 密码掩码显示
  • 交易记录存储
  • 后端服务验证(纯前端实现仅为演示)

完整示例结构

建议将代码模块化为:

js实现简单的ATM机

class ATM {
  constructor(accounts) {
    this.accounts = accounts;
    this.currentAccount = null;
  }

  // 各功能方法...
}

const atm = new ATM(accounts);
atm.start();

标签: 简单js
分享给朋友:

相关文章

js实现图片轮播

js实现图片轮播

实现基础图片轮播 使用HTML、CSS和JavaScript创建一个简单的图片轮播。HTML部分定义轮播容器和图片,CSS设置样式和动画效果,JavaScript处理轮播逻辑。 <div cl…

js多线程如何简单实现

js多线程如何简单实现

JavaScript 多线程的简单实现方法 JavaScript 本身是单线程的,但可以通过 Web Workers 实现多线程操作。Web Workers 允许在后台运行脚本,独立于主线程执行任务。…

js jquery

js jquery

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画设计和 Ajax 交互。它兼容多种浏览器,提供易于使用的 API,使开发者能够…

js实现游标

js实现游标

使用JavaScript实现游标 在JavaScript中,可以通过操作DOM元素的cursor样式属性来实现自定义游标效果。以下是几种常见的实现方法: 修改默认鼠标指针样式 通过CSS的curso…

js实现图

js实现图

JavaScript 实现图的常用方法 在 JavaScript 中,图(Graph)可以通过多种方式实现,常见的包括邻接表(Adjacency List)和邻接矩阵(Adjacency Matrix…

js实现吸色

js实现吸色

使用Canvas实现吸色功能 通过Canvas的getImageData方法获取像素颜色数据。创建一个Canvas元素,将目标图像绘制到Canvas上,通过鼠标事件获取坐标对应的颜色值。 c…