使用javascript做的一个随机点名程序

下面是使用JavaScript做随机点名程序的完整攻略。

一、前期准备

在开始编写随机点名程序之前,需要确定以下问题:

  1. 需要点名的人员名单存储在什么地方?
  2. 点名程序的界面如何设计?
  3. 点击“点名”按钮后,程序如何读取名单并实现随机选择?
  4. 随机选择后,如何将选中的人员信息展示在界面上?

在回答这些问题之后,就可以开始编写代码了。

二、程序实现

1. 存储名单

我们可以将名单存储在一个数组中。数组中的每个元素代表一位人员,可以包含其姓名、学号、手机号等信息。

var students = [
  { name: '张三', number: '1001', phone: '13888888888' },
  { name: '李四', number: '1002', phone: '13999999999' },
  { name: '王五', number: '1003', phone: '13666666666' },
  // ...
];

2. 界面设计

随机点名程序的界面可以简单设计为一个按钮和一个文本框。按钮用于触发“点名”事件,文本框用于显示点名结果。

<button id="btn">点名</button>
<input id="result" type="text" readonly>

3. 读取名单及随机选择

当用户点击“点名”按钮时,程序需要读取名单并随机选择一位人员。具体实现如下:

var btn = document.getElementById('btn'); // 获取按钮
var result = document.getElementById('result'); // 获取文本框
btn.onclick = function () { // 给按钮绑定点击事件
  var index = Math.floor(Math.random() * students.length); // 随机选择一位人员
  var student = students[index]; // 获取所选人员信息
  result.value = student.name + ',' + student.number; // 将结果显示在文本框中
};

4. 示例说明

假设有一个班级,名单存放在一个JSON文件中,如下所示:

[
  {"name": "张三", "number": "1001", "phone": "13888888888"},
  {"name": "李四", "number": "1002", "phone": "13999999999"},
  {"name": "王五", "number": "1003", "phone": "13666666666"}
]

我们可以使用fetch API从JSON文件中读取名单,并随机选择一位人员。实现代码如下:

fetch('students.json') // 获取名单文件
  .then(response => response.json()) // 将JSON格式的数据转换为JavaScript对象
  .then(students => { // 成功获取名单后执行以下代码
    var btn = document.getElementById('btn'); // 获取按钮
    var result = document.getElementById('result'); // 获取文本框
    btn.onclick = function () { // 给按钮绑定点击事件
      var index = Math.floor(Math.random() * students.length); // 随机选择一位人员
      var student = students[index]; // 获取所选人员信息
      result.value = student.name + ',' + student.number; // 将结果显示在文本框中
    };
  })
  .catch(error => { // 获取名单失败后执行以下代码
    console.error(error);
  });

这个程序会从指定的JSON文件中读取名单,当用户点击“点名”按钮时,会随机选择一位人员,并将其姓名和学号显示在文本框中。用户可以反复点击“点名”按钮来随机选择不同的人员。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:使用javascript做的一个随机点名程序 - Python技术站

(0)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • 前端面试必备之html5的新特性

    前言 HTML5是目前Web前端开发中最重要的技术之一,保持对HTML5新特性的熟练掌握将有助于大大提升前端开发工作的效率。本文将详细讲解HTML5的新特性,为前端面试者提供必备攻略。 常见的HTML5新特性 1. 语义化标签 HTML5增加了许多语义化元素,使页面结构更加清晰有序,利于搜索引擎和开发者理解和维护。例如: <header>头部内容…

    JavaScript 2023年5月28日
    00
  • 深浅拷贝

    // 注意: 基本数据类型不存在深浅拷贝,只是值传递,复合数据类型才有深浅拷贝之说         var obj1 = { name: “吴亦凡” };         var obj2 = obj1;         obj1.name = “罗志祥”;         // 相当于把obj1的指针复制了一份给了obj2,两个指针指向了堆内存中的一块内存…

    JavaScript 2023年4月18日
    00
  • JavaScript闭包和回调详解

    JavaScript闭包和回调是JavaScript编程中重要的概念,下面我会详细讲解这两个概念以及如何使用它们。 什么是闭包? 在JavaScript中,函数内部的作用域可以访问函数外部的作用域。而且,当外部函数执行完毕后,其内部的变量通常会被销毁。但是,如果在内部函数中定义了一个新的闭包函数并返回它,那么这个闭包函数将会保留对其父函数的词法环境的引用,因…

    JavaScript 2023年6月10日
    00
  • JS字典Dictionary类定义与用法示例

    JS字典Dictionary类是一种以键和值的形式存储数据的集合。在JS中,我们可以使用对象字面量或者Map来创建字典,但是使用Dictionary类可以更好地利用类的特性,对字典进行更加灵活的操作。 定义Dictionary类 我们先来看一下如何定义JS字典Dictionary类。 class Dictionary { constructor() { th…

    JavaScript 2023年5月28日
    00
  • js中Function引用类型常见有用的方法和属性详解

    JS中Function引用类型常见有用的方法和属性详解 在JavaScript中,函数也是一种对象,属于Function类型引用。Function类型中有很多有用的方法和属性,接下来分别进行详细说明。 创建函数的方法 函数的创建有三种主要方式:函数声明,函数表达式和Function构造函数。其中函数声明方式最简单,也是最常见的方式: 函数声明 functio…

    JavaScript 2023年5月27日
    00
  • js获取事件源及触发该事件的对象

    获取事件源对象和触发该事件的对象是 Javascript 事件处理的重要操作。下面,我将为大家分享完整的攻略。 获取事件源对象 事件源对象指的是触发该事件的元素或节点。通常,我们使用 event.target、event.srcElement 等属性来获取事件源对象。 event.target:事件发生时,事件的目标节点(最深嵌套的节点)。 event.sr…

    JavaScript 2023年6月10日
    00
  • Javascript 异步加载详解(浏览器在javascript的加载方式)

    Javascript 异步加载详解(浏览器在javascript的加载方式) 什么是异步加载 在JavaScript中,异步加载是指浏览器在加载JavaScript文件时,并不会等待文件完全加载完成后再去执行JavaScript文件内的代码。异步加载的好处在于页面不会因为JavaScript加载而被阻塞,同时也可以提高页面的加载速度和性能。 实现异步加载的方…

    JavaScript 2023年5月27日
    00
  • js获取上传文件大小示例代码

    当用户需要在网站上上传文件时,我们可能需要进行文件大小的限制。JavaScript可以通过文件对象(File对象)来获取上传文件的大小。 具体步骤如下: 获取文件对象 首先,在HTML表单中添加一个文件输入框,使用JavaScript获取该输入框对应的文件对象。例如: <input type="file" id="file…

    JavaScript 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部