最适合网络开发者的网站

JS 教程

JS 首页 JS 简介 JS 去哪儿 JS 输出 JS 语句 JS 语法 JS 评论 JS 变量 JS 让 JS 常量 JS 运算符 JS 算术 JS 作业 JS 数据类型 JS 函数 JS 对象 JS 活动 JS 字符串 JS 字符串方法 JS 字符串搜索 JS 字符串模板 JS 数字 JS 数字方法 JS 数组 JS 数组方法 JS 数组排序 JS 数组迭代 JS 数组常量 JS 日期 JS 日期格式 JS 获取日期方法 JS 日期设置方法 JS 数学 JS 随机 JS 布尔值 JS 比较 JS 条件 JS 开关 JS 循环 JS 循环 JS 循环 JS 循环 JS 中断 JS 可迭代对象 JS 集 JS 地图 JS Typeof JS 类型转换 JS 按位 JS 正则表达式 JS 错误 JS 作用域 JS 提升 JS 严格模式 JS this 关键字 JS 箭头函数 JS 类 JS JSON JS 调试 JS 风格指南 JS 最佳实践 JS 错误 JS 性能 JS 保留字

JS 版本

JS 版本 JS 2009(ES5) JS 2015(ES6) 小学 2016 小学 2017 小学 2018 JS IE/Edge JS 历史

JS 对象

对象定义 对象属性 对象方法 对象显示 对象访问器 对象构造函数 对象原型 对象可迭代对象 对象集 对象映射 对象引用

JS 函数

函数定义 函数参数 函数调用 函数调用 功能应用 函数绑定 函数闭包

JS 类

课程简介 类继承 静态类

JS 异步

JS 回调 JS 异步 JS 承诺 JS 异步/等待

JS HTML DOM

DOM 简介 DOM 方法 DOM 文档 DOM 元素 DOM HTML DOM 表单 DOM CSS DOM 动画 DOM 事件 DOM 事件监听器 DOM 导航 DOM 节点 DOM 集合 DOM 节点列表

JS 浏览器 BOM

JS 窗口 JS 屏幕 JS 位置 JS 历史 JS 导航器 JS 弹出警告 JS 时机 JS Cookies

JS Web API

Web API 简介 Web 表单 API 网络历史记录 API Web 存储 API Web Worker API Web 获取 API 网络地理定位 API

JS AJAX

AJAX 简介 AJAX XMLHttp AJAX 请求 AJAX 响应 AJAX XML 文件 AJAX PHP AJAX ASP AJAX 数据库 AJAX 应用程序 AJAX 示例

JS JSON

JSON 简介 JSON 语法 JSON 与 XML JSON 数据类型 JSON 解析 JSON 字符串化 JSON 对象 JSON 数组 JSON 服务器 JSON 格式的 PHP JSON 的 HTML JSON JSONP

JS 与 jQuery

jQuery 选择器 jQuery HTML jQuery CSS jQuery DOM

JS 图形

JS 图形 JS 画布 JS Plotly JS Chart.js JS 谷歌图表 JS D3.js

JS 示例

JS 示例 JS HTML DOM JS HTML 输入 JS HTML 对象 JS HTML 事件 JS 浏览器 JS 编辑器 JS 练习 JS 测验 JS 证书

JS 参考

JavaScript 对象 HTML DOM 对象

放置您的广告!
JavaScript。W3Schools 英文版。初学者课程

尿素

JavaScript 数字


JavaScript 只有一种数字类型。数字可以带小数,也可以不带小数。


例子

let x = 3.14; // 带小数的数字
let y = 3; // 一个没有小数的数字
亲自尝试 »

特大数或特小数可以用科学(指数)表示法表示:

例子

让 x = 123e5; // 12300000
让 y = 123e-5; // 0.00123
亲自尝试 »

JavaScript 数字始终是 64 位浮点数

与许多其他编程语言不同,JavaScript 没有定义不同类型的数字,如整数、短整型、长整型、浮点型等。

JavaScript 数字始终存储为双精度浮点数,遵循国际 IEEE 754 标准。

此格式以 64 位存储数字,其中数字(分数)存储在位 0 至 51 中,指数存储在位 52 至 62 中,符号存储在位 63 中:

值(又称分数/尾数) 指数 符号
52 位(0 - 51) 11 位 (52 - 62) 1 位 (63)

整数精度

整数(没有句点或指数符号的数字)最多可精确到 15 位数字。

例子

让 x = 999999999999999; // x 将为 999999999999999
让 y = 9999999999999999; // y 将为 10000000000000000
亲自尝试 »

小数的最大位数是 17。

浮点精度

浮点运算并不总是 100% 准确:

令 x = 0.2 + 0.1;
亲自尝试 »

为了解决上述问题,乘法和除法很有用:

设 x = (0.2 * 10 + 0.1 * 10) / 10;
亲自尝试 »

添加数字和字符串

警告 !!

JavaScript 使用 + 运算符进行加法和连接。

数字相加。字符串连接起来。

如果将两个数字相加,结果将是一个数字:

例子

设 x = 10;
令 y = 20;
让 z = x + y;
亲自尝试 »

如果添加两个字符串,结果将是字符串连接:

例子

让 x = "10";
让 y = "20";
让 z = x + y;
亲自尝试 »

如果添加一个数字和一个字符串,结果将是字符串连接:

例子

设 x = 10;
让 y = "20";
让 z = x + y;
亲自尝试 »

如果添加一个字符串和一个数字,结果将是字符串连接:

例子

让 x = "10";
令 y = 20;
让 z = x + y;
亲自尝试 »

一个常见的错误是期望这个结果是 30:

例子

设 x = 10;
令 y = 20;
让 z = "结果是:" + x + y;
亲自尝试 »

一个常见的错误是期望这个结果是 102030:

例子

设 x = 10;
令 y = 20;
让 z = "30";
让结果 = x + y + z;
亲自尝试 »

JavaScript 解释器从左到右工作。

首先添加 10 + 20,因为 x 和 y 都是数字。

然后 30 + “30” 被连接起来,因为 z 是一个字符串。


数字字符串

JavaScript 字符串可以包含数字内容:

let x = 100; // x 是一个数字

let y = "100"; // y 是一个字符串

JavaScript 会在所有数字运算中尝试将字符串转换为数字:

这将起作用:

让 x = "100";
让 y = "10";
让 z = x / y;
亲自尝试 »

这也行得通:

让 x = "100";
让 y = "10";
让 z = x * y;
亲自尝试 »

这会起作用:

让 x = "100";
让 y = "10";
让 z = x - y;
亲自尝试 »

但这不起作用:

让 x = "100";
让 y = "10";
让 z = x + y;
亲自尝试 »

在最后一个例子中,JavaScript 使用 + 运算符来连接字符串。


NaN——不是数字

NaN 是 JavaScript 的保留字,表示数字不是合法数字。

尝试使用非数字字符串进行算术运算将导致 NaN (不是数字):

例子

让 x = 100 / “苹果”;
亲自尝试 »

但是,如果字符串包含数字值,则结果将是数字:

例子

设 x = 100 / "10";
亲自尝试 »

您可以使用全局 JavaScript 函数 isNaN() 判断某个值是否是数字:

例子

让 x = 100 / “苹果”;
是否为NaN(x);
亲自尝试 »

注意 NaN.如果您使用 NaN 在数学运算中,结果也将是NaN:

例子

让 x = NaN;
令 y = 5;
让 z = x + y;
亲自尝试 »

或者结果可能是像 NaN5 这样的连接:

例子

让 x = NaN;
让 y = "5";
让 z = x + y;
亲自尝试 »

NaN 是一个数字:typeof NaN 返回number:

例子

NaN 类型;
亲自尝试 »

无穷

Infinity (或者-Infinity) 是当您计算出一个超出最大可能数字的数字时 JavaScript 将返回的值。

例子

让我的数字 = 2;
// 执行直到无限
while (myNumber != Infinity) {
我的数字 = 我的数字 * 我的数字;
}
亲自尝试 »

除以 0(零)也会产生 Infinity:

例子

设 x = 2 / 0;
令 y = -2 / 0;
亲自尝试 »

Infinity 是一个数字:typeof Infinity 返回number.

例子

无穷大类型;
亲自尝试 »

十六进制

如果数字常量前面有 0x,JavaScript 会将其解释为十六进制。

例子

让 x = 0xFF;
亲自尝试 »

切勿写以零开头的数字(例如 07)。
如果数字以零开头,某些 JavaScript 版本会将其解释为八进制。

默认情况下,JavaScript 将数字显示为 十进制 小数点。

但您可以使用 toString() 输出数字的方法基数 2基数 36.

十六进制是 基数 16. 小数是 十进制.八进制是 基数 8.二进制是 基数 2.

例子

让我的数字 = 32;
myNumber.toString(32);
myNumber.toString(16);
myNumber.toString(12);
myNumber.toString(10);
myNumber.toString(8);
myNumber.toString(2);
亲自尝试 »

JavaScript 数字作为对象

通常,JavaScript 数字是通过文字创建的原始值:

设 x = 123;

但数字也可以用关键字定义为对象 new:

让 y = 新数字(123);

例子

设 x = 123;
让 y = 新数字(123);
亲自尝试 »

不要创建 Number 对象。

new 关键字使代码变得复杂,并降低了执行速度。

数字对象可能会产生意想不到的结果:

使用时 == 运算符,x 和 y 是平等的:

设 x = 500;
让 y = 新数字(500);
亲自尝试 »

使用时 === 运算符,x 和 y 是不等于.

设 x = 500;
让 y = 新数字(500);
亲自尝试 »

注意 (x==y)(x===y).

(x == y) 对或错?

让 x = 新数字(500);
让 y = 新数字(500);
亲自尝试 »

(x === y) 对或错?

让 x = 新数字(500);
让 y = 新数字(500);
亲自尝试 »

比较两个 JavaScript 对象 总是 返回错误的.

完整的 JavaScript 数字参考

如需完整的号码参考,请访问我们的:

完整的 JavaScript 数字参考.

该参考包含所有 Number 属性和方法的描述和示例。