首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【JavaScript】JavaScript 变量 ④ ( 变量数据类型 | JavaScript 数据类型 | 简单数据类型 | 复杂数据类型 | 数字类型 Number | 数字类型取值范围 )

【JavaScript】JavaScript 变量 ④ ( 变量数据类型 | JavaScript 数据类型 | 简单数据类型 | 复杂数据类型 | 数字类型 Number | 数字类型取值范围 )

作者头像
韩曙亮
发布2024-03-12 13:09:42
发布2024-03-12 13:09:42
6440
举报

一、 JavaScript 变量数据类型

1、变量数据类型确定

变量的作用是 存储 数据 的 , 是 一块内存空间的别名 , 每个 变量 都有自己的 变量名 和 数据类型 ;

JavaScript 是 弱类型 或 动态类型 语言 , 声明变量 时不需要指定其类型 , 变量的类型会在 变量赋值 时自动确定 , 并且 变量类型 可以在 程序执行 过程中改变 ;

JavaScript 变量 的 类型 由 等号 右边的 变量值 的 数据类型 确定的 ;

2、代码示例

下面定义了一个 age 变量 , 为其赋值一个 18 , 则该变量是 整型数字类型变量 ;

再为 age 赋值字符串 " Tom " , 则该变量的类型就变为了 字符串类型 ;

代码语言:javascript
复制
var age = 18;
age = "Tom";

二、 JavaScript 数据类型


JavaScript 的 数据类型 分为 以下 2 大类 :

  • 简单数据类型 : 又称为 原始类型 , 是 基本数据类型 ;
  • 复杂数据类型 : 又称为 对象类型 , 由 基本数据类型 组合成的 复杂类型 ;

1、简单数据类型

简单数据类型 包含 以下 5 种 数据类型 :

  • Number : 表示 数字类型 , 包含 整数 和 浮点数 , 如 : 5 , 1.5 ;
代码语言:javascript
复制
// 声明变量 a 为 整型
var a = 18;
// 声明变量 a 为 浮点型
var a = 18.0;
  • String : 表示 文本数据 或 字符串 , 如 : “Tom” ;
代码语言:javascript
复制
// 声明变量 a 为 字符串
var a = "Tom";
  • Boolean : 表示 逻辑值 , 只有 true 和 false 两种取值 ;
代码语言:javascript
复制
// 声明变量 a 为 布尔值
var a = false;
  • Null : 表示 空值 , 取值为 null ;
代码语言:javascript
复制
// 声明变量 a 为 空值
var a = null;
  • Undefined : 表示 未定义的值 , 值为 undefined ; 变量被声明但没有赋值 , 该变量的默认值是 undefined ;
代码语言:javascript
复制
// 声明变量 a , 但不赋值 , 该变量默认值为 undefined
var a;

2、数字类型 Number

存储形式

JavaScript 中 的 Number 类型 是 基本数据类型 , 同时用于表示 整型 和 浮点型 ;

JavaScript 语言 只有一种 数字类型 , 该 数字类型 是以 64 位 浮点数 形式存储 , 不会区分整数类型 和 浮点类型 ;

常见进制

数字类型 的 常见的进制 :

  • 八进制 : 在 数字前面 添加 0o , 表示该数字是 八进制数据 ; 八进制 的 数值 由 0 ~ 7 的数字组成 ;
代码语言:javascript
复制
// 定义八进制 数字类型 , 下面的数值是 8
var num = 0o10;
  • 十进制 : 默认的进制 ;
代码语言:javascript
复制
// 定义十进制 数字类型 , 下面的数值是 10
var num = 10;
  • 十六进制 : 在 数字前面 添加 0x , 表示该数字是 十六进制数据 ; 十六进制 的 数值 由 0 ~ 9 数字 和 A ~ F 的字母组成 ;
代码语言:javascript
复制
// 定义十六进制 数字类型 , 下面的数值是 16
var num = 0x10;
数字类型取值范围

JavaScript 中的 Number 数字类型 的 取值范围如下 :

  • 最大安全整数 为 Number.MAX_SAFE_INTEGER , 该值为
2^{53 - 1}

;

  • 最小安全整数 为 Number.MIN_SAFE_INTEGER , 该值为
-2^{53 - 1}

;

超出这个范围的 整数 可能不会 精确表示 ;

代码语言:javascript
复制
        // 数字类型 : 最大值
        let num8 = Number.MAX_SAFE_INTEGER;
        console.log("num8 : " + num8);

        // 数字类型 : 最小值
        let num9 = Number.MIN_SAFE_INTEGER;
        console.log("num9 : " + num9);

数字类型 表示精度 : JavaScript 的 数字类型 使用 IEEE 754 双精度浮点数 表示法 , 精度有限 , 不建议使用 Number 数字类型 进行 大数计算 或 高精度计算 ;

数字类型 特殊数值

数字类型 特殊数值 :

  • Infinity : 正无穷大 , 大于任何数值 ;
  • -Infinity : 负无穷大 , 小于任何数值 ;
  • NaN : 非数值 , Not a Number ;
代码语言:javascript
复制
        // 数字类型 : 正无穷大
        let num3 = Infinity;
        console.log("num3 : " + num3);

        // 数字类型 : 负无穷大
        let num4 = -Infinity;
        console.log("num4 : " + num4);

        // 数字类型 : 非数字
        let num5 = NaN;
        console.log("num5 : " + num5);
判断变量是否是数字类型

isNaN() 函数 是 JavaScript 中的 全局函数 , 用于确定一个值是否是 NaN 值 ;

函数语法 :

代码语言:javascript
复制
isNaN(value)
  • 参数解析 : value 参数 是要检测的变量值 ;
  • 返回值解析 :
    • 如果 value 是 NaN , 返回 true ;
    • 如果 value 是 非 NaN 值 , 返回 false ;

代码示例 :

代码语言:javascript
复制
        // 判定是否是 非数字
        console.log(isNaN(NaN)); // true  
        console.log(isNaN(undefined)); // true  
        console.log(isNaN(0)); // false
数字类型代码示例

代码示例 :

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <!-- 设置 meta 视口标签 -->
    <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no,maximum-scale=1.0,minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>JavaScript</title>
    <style></style>
    <script>
        // 数字类型 Number

        // 数字类型 : 整型
        let num1 = 42;
        console.log("num1 : " + num1);

        // 数字类型 : 浮点型
        let num2 = 3.14159;
        console.log("num2 : " + num2);

        // 数字类型 : 正无穷大
        let num3 = Infinity;
        console.log("num3 : " + num3);

        // 数字类型 : 负无穷大
        let num4 = -Infinity;
        console.log("num4 : " + num4);

        // 数字类型 : 非数字
        let num5 = NaN;
        console.log("num5 : " + num5);

        // 数字类型 : 八进制
        let num6 = 0o10;
        console.log("num6 : " + num6);

        // 数字类型 : 十六进制
        let num7 = 0x10;
        console.log("num7 : " + num7);

        // 数字类型 : 最大值
        let num8 = Number.MAX_SAFE_INTEGER;
        console.log("num8 : " + num8);

        // 数字类型 : 最小值
        let num9 = Number.MIN_SAFE_INTEGER;
        console.log("num9 : " + num9);

        // 判定是否是 非数字
        console.log(isNaN(NaN)); // true  
        console.log(isNaN(undefined)); // true  
        console.log(isNaN(0)); // false
    </script>
</head>

<body>
</body>

</html>

执行结果 :

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-03-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、 JavaScript 变量数据类型
    • 1、变量数据类型确定
    • 2、代码示例
  • 二、 JavaScript 数据类型
    • 1、简单数据类型
    • 2、数字类型 Number
      • 存储形式
      • 常见进制
      • 数字类型取值范围
      • 数字类型 特殊数值
      • 判断变量是否是数字类型
      • 数字类型代码示例
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档