JS 判断正负数

2023-11-17

  1. 需求:
    在文本框中输入一些内容,点击按钮判断文本框中内容是正数、负数、还是0, 或者为非数字。
    实现:
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>判断正负数</title>
</head>

<body>
    <input type="text" id="num" />
    <button name="submit" id="submit">判断</button>
    <!-- JS 脚本通常在body的最后面写 -->
    <script>
        let num = document.getElementById("num");
        let sub = document.getElementById("submit");
        submit.onclick = function() {
            // 1. 获取num里面的值(使用value获取文本框中的值),并转换为number数据类型;
            let n = Number(num.value);
            //console.log(typeof n);
            //console.log(n);

            // 2. 判断是否是数值,使用isNaN
            if (!isNaN(n)) {
                if (n > 0) {
                    console.log("正数");
                } else if (n < 0) {
                    console.log("负数");
                } else {
                    console.log("零");
                }
            } else {
                console.log("非数值!")
            }
        }
    </script>
</body>

</html>
  1. 实现效果:
    在这里插入图片描述
    此处发现一个现象: submit是id值,可以直接调用onclick事件。 只有id可以,class 和 name 都不行。即只要标签有id这个属性,不使用getElementById方法,也可以直接用id获取dom元素。(如果dom元素的id名称不和js内置属性或全局变量重名的话,该名称自动成为window对象的属性)

在这里插入图片描述

getElementById 返回的是一个元素对象:

当返回一个元素对象时, 可以通过console.dir(对象名)展示该元素所有的属性名属性值(键值对)

在这里插入图片描述
其实onclick、style 等都是元素对象的属性,所以可以通过"元素名.属性名"调用赋值
在这里插入图片描述

常用的属性有:
id : 操作元素的id值
className: 操作元素的类名
innerHTML: 操作元素的内容(可以识别标签)
innerText:操作元素的内容(不能识别标签)
tagName: 获取元素的标签名(一般大写)
style: 操作元素的行内样式, 属性值是一个新的对象: CSSStyleDeclaration

在这里插入图片描述

思考题:

已知如下代码可以该表BOX元素的样式:

box.style.color = 'red';

那么 下面的写法是否能修改元素的样式,如果不可以是为甚?

// 第一种方案
let AA = box.style;
AA.color = 'red';

//第二种方案
let BB = box.style.color;
BB = 'red';

解答: 第二种不可以。

  1. 第一种:
    因为box.style 是一个对象,属性值color 是存储在堆内存中,AA是指向的堆内存,而非具体的属性值。
  2. 第二种:
    因为box.style.color 是一个基础数据类型(string),是直接改的数值,而非堆内存中的值。
    在这里插入图片描述

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JS 判断正负数 的相关文章

随机推荐

  • openGauss学习笔记-07 openGauss 语法

    文章目录 openGauss学习笔记 07 openGauss 语法 7 1 帮助 7 2 SQL语句格式 7 3 SQL语法 ABORT ALTER AUDIT POLICY ALTER DATA SOURCE ALTER DATABAS
  • Android实现图片点击放大

    第一步 查看大图 implementation com github SherlockGougou BigImageViewPager v4 6 1 1 第二步 在图片点击事件里调用 ImagePreview getInstance 上下文
  • 【mybatis】【mybatisPlus】

    springboot 下 mybatis mybatisPlus Mybatis的作用 配置数据源和mybatis的配置 Mybatis的作用 Mybatis就是帮助程序员将数据存取到数据库里面 MyBatis 是一个半自动化的ORM框架
  • 使用Java socket简单模拟HTTP服务器

    1 HTTP server 接收client端的http请求并将同级目录的root 返回 package httpDemo import java io InputStream import java io OutputStream imp
  • Electron 入门学习案例(electron 初体验)

    Electron 入门学习案例 electron 是桌面端的一个框架 可以把 html js css 封装成为一个 exe 或者 其他平台的应用程序 很好的实现了跨平台 并且开发效率很快 初始化环境 初始化 npm 环境使用命令npm in
  • 学习大数据spark——心得体会

    总结与体会 1 项目总结 本次项目实现了Spark 单机模式Python版的安装 介绍了与Spark编程有关的一些基本概念 特别对RDD的创建 转换和行动操作做了比较详细的说明 对从RDD 到DataFrame的实现进 行了案例训练 包括
  • PCB走线宽度和走过的电流对照表

    1 PCB走线宽度和走过的电流对照表 一般线路板厂家以OZ表示铜箔厚度 1OZ的厚度表示将1OZ重量的铜均匀铺在1平方英尺面积上达到的铜箔厚度 约为0 035mm 所以35um 50um 70um 对应的以oz为计量单位的厚度为1OZ 1
  • 解决SQL case when then else 在查询结果不存在时不生效的问题

    今天遇到一个问题 SQL 下的case when then else语句在查询结果不存在时不生效 今天解决了 顺便记录一下 为了方便的演示 先建个表Users Id Name Gender 1 白子画 0 2 花千骨 1 3 梅长苏 0 4
  • 财政收入影响因素分析

    目录 1 数据 2 代码 3 补充 1 数据 百度网盘链接 链接 https pan baidu com s 10I5FRbqSv0MGJ56SvmSTAg pwd 1234 提取码 1234 2 代码 coding utf 8 代码6 1
  • ArcMap连接表格(Join)相关问题整理

    表格连接是我们日常工作中ArcGIS常用的一项操作 常用Excel表格连接 但是在实际运用中 我们会遇到一些问题 这一般与我们使用的数据以及相关操作有关 在这里 我们根据实际经验 将一些常见问题与解决途径做一总结 1 表格无法连接 解决 检
  • python代码——批量压缩指定目录下的文件夹

    语言 python 3 用法 选择目录 对该目录下的文件夹分别压缩 生成同名压缩文件 并保存到该目录下 import os import shutil import zipfile from tkinter import Tk from t
  • k8s图形界面登录报错Failure

    k8s图形界面登录报错如下 kind Status apiVersion v1 metadata status Failure message forbidden User system anonymous cannot get path
  • echarts实现一个页面同时显示多个图表

    前言 因工作需要 老大要求给我一个JSON数据 用echarts 写一个option实现多个图表 折线图 饼图 关系图 展示 也就是说只要一个div dom对象 实现多个不同形状的图表展示 ps 前期没弄清老大意思 写了三个div来显示 尴
  • SpringToolSuite4中maven不能创建项目,创建后没有maven dependence,以及gradle创建后不能使用,更改阿里云仓库

    SpringToolSuite4中maven不能创建项目 创建后没有maven dependence gradle创建后不能使用 更改阿里云仓库 感慨一下 maven 配置指南 gradle 配置指南 感慨一下 其实这个问题很无语 搞了好几
  • 匈牙利匹配

    文章目录 不带权重的二分图匹配 算法核心 代码示例 带权重的二分图匹配 算法步骤 算法核心 如何用最少的直线覆盖矩阵中的全部0元素 如何调整矩阵 代码实例 参考 不带权重的二分图匹配 算法核心 把冲突节点的原先匹配的左节点重新连接到它的未被
  • ceph分布式存储集群部署及应用

    分布式文件系统 Distributed File System 分布式文件系统是指文件系统管理的物理存储资源不一定直接连接在本地节点上 而是通过计算机网络与节点相连 分布式文件系统的设计基于C S模式 常用分布式文件系统 Lustre Ha
  • Linux shell 环境变量注意事项

    在涉及环境变量名时 什么时候该用 符号 什么时候不该用 符号记住一点 如果要用到变量就使用 符号 如果要操作变量就不使用 符号 这条规则的一个例外就是printenv显示某个变量的值
  • 01 LNK2038:检测到“RuntimeLibrary”的不匹配项

    LNK2038 检测到 RuntimeLibrary 的不匹配项 问题描述 error LNK2038 检测到 RuntimeLibrary 的不匹配项 解决方法 qtmian lib报错采用方法3解决 方法1 修改VS项目运行库配置 方法
  • 基于Dijkstra、A*和动态规划的移动机器人路径规划(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 目录 1 概述 2 运行结果 2 1 Dijkstra算法 2 2 A 算法 2 3 动态规划 3 Matlab代码实现 1 概述 在基
  • JS 判断正负数

    需求 在文本框中输入一些内容 点击按钮判断文本框中内容是正数 负数 还是0 或者为非数字 实现