049_Number对象
1. Number对象
1.1. Number是对原始数字的包装对象。
1.2. 创建Number对象的语法:
var myNum = new Number(value);
1.3. 参数value是要创建的Number对象的数字。
1.4. 当Number()和运算符new一起作为构造函数使用时, 它返回一个新创建的Number对象。
2. Number对象属性
3. Number对象方法
4. 使用字面量创建数字和Number对象创建数字
4.1. 使用字面量创建数字和Number对象创建数字
var num1 = new Number(10); // 使用Number对象创建数字
var num2 = 10; // 使用字面量创建数字
4.2. 使用字面量创建数字和Number对象创建数字的不同
4.2.1. 使用字面量创建数字是原始值, 储存在栈中。
4.2.2. 使用Number对象创建数字是对象(引用类型), 储存在堆中。
4.2.3. 使用字面量创建数字和Number对象创建数字的内存结构:
4.2.4. 使用Number对象创建数字比使用字面量创建数字复杂的多(就是因为Number对象多执行了一个Number()构造函数), 执行效率低, 因此我们通常使用字面量创建数字。
4.2.5. 使用==运算符判断使用字面量和Number对象创建的相同值的数字是否相等时, 结果是true, 因为数值相同。
4.2.6. 使用===运算符判断使用字面量和Number对象创建的相同值的数字是否相等时, 结果是false, 因为虽然数值相同, 但类型不同, 一个是数字, 一个是对象。
5. 数字原始值可以使用Number对象的属性和方法
5.1. 数字原始值, 比如10, 无法拥有属性和方法, 因为它们不是对象。
5.2. 但是通过JavaScript, Number对象的属性和方法也可用于原始数字, 因为在执行属性和方法时 JavaScript将原始数字视为伪对象。
6. Number构造函数还有5个用作数字常量的占位符。这5个常量分别是MAX_VALUE(最大数)、MIN_VALUE(最小数)、POSITIVE_INFINITY(正无穷大)、NEGATIVE_INFINITY(负无穷大)和特殊的NaN(not a number)值。注意, 这些值是构造函数Number()自身的属性, 而不是单独的某个Number对象的属性。
var num1 = new Number(10);
var num2 = 10;// 正确使用
document.write('Number.MAX_VALUE = ' + Number.MAX_VALUE + '<br />');
document.write('Number.MIN_VALUE = ' + Number.MIN_VALUE + '<br />');
document.write('Number.NaN = ' + Number.NaN + '<br />');
document.write('Number.NEGATIVE_INFINITY = ' + Number.NEGATIVE_INFINITY + '<br />');
document.write('Number.POSITIVE_INFINITY = ' + Number.POSITIVE_INFINITY + '<br />');// 错误使用
document.write('num1.MAX_VALUE = ' + num1.MAX_VALUE + '<br />');
document.write('num1.MIN_VALUE = ' + num1.MIN_VALUE + '<br />');
document.write('num1.NaN = ' + num1.NaN + '<br />');
document.write('num1.NEGATIVE_INFINITY = ' + num1.NEGATIVE_INFINITY + '<br />');
document.write('num1.POSITIVE_INFINITY = ' + num1.POSITIVE_INFINITY + '<br />');document.write('num2.MAX_VALUE = ' + num2.MAX_VALUE + '<br />');
document.write('num2.MIN_VALUE = ' + num2.MIN_VALUE + '<br />');
document.write('num2.NaN = ' + num2.NaN + '<br />');
document.write('num2.NEGATIVE_INFINITY = ' + num2.NEGATIVE_INFINITY + '<br />');
document.write('num2.POSITIVE_INFINITY = ' + num2.POSITIVE_INFINITY + '<br />');
7. Number对象重写了Object对象的constructor: ƒ Number()属性, 和toLocaleString()、toString()、valueOf()这三个方法。
8. toLocaleString()方法
8.1. toLocaleString()方法可把一个Number对象转换为本地格式的字符串。
8.2. 语法
numberObject.toLocaleString()
8.3. 返回数字的字符串表示, 由实现决定, 根据本地规范进行格式化, 可能影响到小数点或千分位分隔符采用的标点符号。
9. valueOf()方法
9.1. valueOf()方法返回Number对象的原始值。
9.2. 语法
numberObject.valueOf()
10. 例子
10.1. 代码
<!DOCTYPE html>
<html lang="zh-CN"><head><meta charset="utf-8" /><title>Number对象</title></head><body><script type="text/javascript">var num1 = new Number(3.1415926);var num2 = 3.1415926;document.write('num1 = ' + num1 + '<br />');document.write('num2 = ' + num2 + '<br />');document.write('(num1 == num2) = ' + (num1 == num2) + '<br />');document.write('(num1 === num2) = ' + (num1 === num2) + '<br />');document.write('(num1.valueOf() === num2) = ' + (num1.valueOf() === num2) + '<br />');document.write('(typeof num1) = ' + (typeof num1) + ', (typeof num1.valueOf()) = ' + (typeof num1.valueOf()) + '<br />');document.write('(typeof num2) = ' + (typeof num2) + ', (typeof num2.valueOf()) = ' + (typeof num2.valueOf()) + '<hr />');document.write('(num1.toString() === num2.toString()) = ' + (num1.toString() === num2.toString()) + '<br />');document.write('(typeof num1) = ' + (typeof num1) + ', (typeof num1.toString()) = ' + (typeof num1.toString()) + ', (num1.toString()) = ' + num1.toString() + '<br />');document.write('(typeof num2) = ' + (typeof num2) + ', (typeof num2.toString()) = ' + (typeof num2.toString()) + ', (num2.toString()) = ' + num2.toString() + '<br />');document.write('(num1.toLocaleString() === num2.toLocaleString()) = ' + (num1.toLocaleString() === num2.toLocaleString()) + '<br />');document.write('(typeof num1) = ' + (typeof num1) + ', (typeof num1.toLocaleString()) = ' + (typeof num1.toLocaleString()) + ', (num1.toLocaleString()) = ' + num1.toLocaleString() + '<br />');document.write('(typeof num2) = ' + (typeof num2) + ', (typeof num2.toLocaleString()) = ' + (typeof num2.toLocaleString()) + ', (num2.toLocaleString()) = ' + num2.toLocaleString() + '<hr />');document.write('Number.MAX_VALUE = ' + Number.MAX_VALUE + '<br />');document.write('Number.MIN_VALUE = ' + Number.MIN_VALUE + '<br />');document.write('Number.NaN = ' + Number.NaN + '<br />');document.write('Number.NEGATIVE_INFINITY = ' + Number.NEGATIVE_INFINITY + '<br />');document.write('Number.POSITIVE_INFINITY = ' + Number.POSITIVE_INFINITY + '<br />');</script></body>
</html>
10.2. 效果图
049_Number对象相关推荐
- java_B站_面试题
Java面向对象有哪些特征,如何应用 面向对象编程是利用类和对象编程的一种思想.万物可归类,类是对于世界事物的高度抽象 ,不同的事物之间有不同的关系 ,一个类自身与外界的封装关系,一个父类和子类的 ...
- 史上最详细的23中设计模式解析,一个不落,理论搭配简单案例,更好理解哦
目录 一.软件设计模式的产生背景 二.软件设计模式的概念与意义 1. 软件设计模式的概念 2. 学习设计模式的意义 三.23 种设计模式的分类和功能 1. 根据目的来分 2. 根据作用范围来分 3. ...
- 在kotlin companion object中读取Bean,注入Bean对象
在kotlin companion object中读取Bean,注入Bean对象 在使用kotlin时,或多或少地会使用到一些公共组件,如 http. mongo. redis相关的组件. 使用组 ...
- IDEA自动生成对象所有set方法
idea中有一款插件能够生成对象所有的set方法,GenerateAllSetter :下载地址 步骤1:将下载好的压缩包放在自己记得的文件夹中,在idea中进行导入 步骤2:在本地选中刚才的压缩包, ...
- 基于Golang的对象序列化的程序包开发——myJsonMarshal
基于Golang的对象序列化的程序包开发--myJsonMarshal[阅读时间:约10分钟] 一.对象序列化概述 二.系统环境&项目介绍 1.系统环境 2.项目的任务要求 三.具体程序设计及 ...
- java 捕获异常并存入数据库_java异常处理,报异常的话怎么处理对象值,并持久化到数据库中...
展开全部 //没看到有人回e68a843231313335323631343130323136353331333365646233答你,我还没学到框架,不知道那个是不是可以很便捷操作你说的这样过程 / ...
- python程序如何执行死刑图片_如何判断对象已死
已死的对象就是不可能被任何途径使用的对象,有以下几种方法判断一个对象是否已经死了: 引用计数 给对象添加一个引用计数器,每当有一个地方引用他,计算器就加 1:当引用失效时,计数器减 1:任何时刻计数器 ...
- Go 学习笔记(64)— Go error.New 创建接口错误对象、fmt.Errorf 创建接口错误对象、errors.Is 和 errors.As
1. error 接口定义 除用 panic 引发中断性错误外,还可返回 error 类型错误对象来表示函数调用状态.error 接口是 Go 原生内置的类型,它的定义如下: // $GOROOT/s ...
- OpenCV 笔记(06)— Mat 结构、像素值存储方法、创建 Mat 对象各种方法、Mat 对象的运算
数字图像中的每个点都称为像素(对于图像元素),并且每个像素可以存储一个或多个值,这取决于它是否是仅存储一个值的黑白图像(也称为二进制图像,比如只存储0或1),还是存储两个值的灰度图像,或者是存储三个值 ...
最新文章
- NodeJS http服务端获取POST请求数据
- 如何获得github的oauth access token
- 专业的软件安装包可以这样做!
- jdk1.7 String switch的实现
- 打造大数据和AI能力底座 联通大数据深度参与“新基建”
- python request和urllib_requests和urllib.request的区别是什么?
- (16)Verilog HDL常量:数值表示
- Codeforces Round #533 (Div. 2) 部分题解A~D
- 36家健康类公益组织联名举报百度
- mysql服务器磁盘空间耗尽_一次服务器磁盘空间不足导致的一系列问题
- JavaScript高级教程(函数进阶、闭包、正则表达式、ES6新增语法、新增扩展方法)
- 成为一名初级游戏策划
- 我的Python网路爬虫学习之路--1
- IDA遇到mojava,crash的情况
- leetcode-739.每日温度-单调栈
- Xman pwn level2 writeup
- oracle常见语句(转载)
- 网上书店系统/书店管理系统的设计与实现
- 海湾汉字编码表全部_汉字unicode码表范围和常用汉字unicode码
- 让按钮变灰色,不可用/