JavaScript Number数字类型
来源:互联网 发布:mac怎么安装打印机驱动 编辑:程序博客网 时间:2024/05/18 01:45
1. Number对象属性
代码示例:
var a = Number.MAX_VALUE; console.log(a); //1.7976931348623157e+308 var b = Number.MIN_VALUE; console.log(b); //5e-324 var c = new Number(a+a); console.log(c); //Number {[[PrimitiveValue]]: Infinity} var d = new Number(-a-a); console.log(d); //Number {[[PrimitiveValue]]: -Infinity} console.log(Number('a')); //NaN console.log(isNaN('a')); //true
2. Number对象方法
代码示例:
var a = 10000; console.log(a.toString()); //10000 console.log(a.toLocaleString()); //Chrome:10,000 IE:10,000.00 var b = 123.4567; console.log(b.toFixed(2)); //123.46 console.log(b.toPrecision(2)); //1.2e+2 console.log(b.toExponential()); //1.2345e+2 console.log(b.toExponential(2)); //1.23e+2 console.log(b.valueOf()); //123.4567
2.1 toString与toLocalString的区别
toString()是javascript中所有对象都自带的一个方法,将对象本身转化为字符串输出。
toLocaleString()也是将对象作为字符串输出,区别在于中间加入了“本地化”的过程。
这种区别在检测时间对象时特别明显,如下所示:
var date = new Date(); console.log(date.toString()); //Chrome:Tue Nov 24 2015 20:09:50 GMT+0800 (中国标准时间) //IE:Tue Nov 24 20:09:50 UTC+0800 2015 console.log(date.toLocaleString()); //Chrome:2015/11/24 下午8:09:50 //IE:2015年11月24日 20:09:50
从上面的代码也可看出Chrome和IE“本地化”的实现也是不一样的
2.2 toString与valueOf的区别
toString的解释参见上一个例子
valueOf表示的是对象本身的值
这么解释起来并不明确,很难区分二者描述上的区别,加上Number又是一个基本对象,从例子上也看不出变化。让我们稍稍超前一点借用一下数组对象。
var arr = [123,"sean"]; console.log(arr.toString()); //123,sean console.log(arr.valueOf()); //[12, "sea"]
toString()方法仅仅将arr的内容转成字符串打印出来,但是丢失了数据原本的类型。但是通过valueOf()我们可以清晰地看出arr是Array类型,12是Number类型,“sean”是String类型。
2.3 toPrecision、toFixed与toExponential的区别
toFixed控制的则是一个数字小数点后保留的位数
toPrecision控制的是数字的精度
toExponential是将一个数用科学计数法的形式表示
从解释上就可以看出其实这三者完全没有关系,只是在某些特殊情况下三者的结果在表现形式上看着相似而已。
var a = 123.456; console.log(a.toFixed(2)); //保留小数点后两位 123.46 console.log(a.toPrecision(2)); //保留两位有效数字 1.2e+2 console.log(a.toExponential()); //科学计数法表示 1.23456e+2
3. 注意事项
3.1 1/0和0/0的结果不同
console.log(1/0); //Infinity console.log(0/0); //NaN
3.2 NaN本身是数字类型,但它不等于任何数字(包括它本身)
console.log(typeof NaN) //number console.log(NaN==NaN) //false
1 0
- JavaScript Number数字类型
- javascript数字类型number类型方法
- javascript学习笔记(四) Number 数字类型
- 读书笔记2---JavaScript number(数字)类型数据
- javascript数字类型(Number)不精确问题
- javascript类型系统——Number数字类型
- Javascript中Number类型
- javascript Number类型
- JAVASCRIPT:NUMBER类型
- JavaScript的Number类型
- javascript中Number类型
- JavaScript Number(数字) 对象
- es6 javascript的Number数字类型的原型新增加的方法
- javascript Number类型的扩展
- javascript Number类型的方法
- JavaScript中关于parseInt(),Number(),parseFloat()以及一元运算符“+”将字符串类型转换为数字类型的对比
- PL/SQL Number数字类型函数
- Oracle SQL2 (number数字类型函数)
- linux设备驱动归纳总结(五):4.写个简单的LED驱动
- java实现单链表反转(遍历方式)
- git与svn区别
- iOS画图的一些笔记CGContextRef
- 首次与python的感想
- JavaScript Number数字类型
- Eclipse下快速打开本地文件插件EasyExplorer
- 字符串数组char[]和字符串指针char*的讨论
- 深拷贝与浅拷贝,多态的好处,内存泄露与内存溢出区别,枚举类,javaweb中libraries区别
- Mac 下使用EasyPR的方法,CMake,OpenCV
- 一个方便形成如同网易新闻首页,控制器滑动翻页效果的控制器
- Java中List集合的遍历
- Spring AOP 详解
- asp.net中编写 windows 服务程序以及调用