大家都知道javascript中有五种简单数据类型,number,string,boolean,null,undefined,复杂数据类型是object。本文主要记录下number类型的一些可能不太常用的东西。以下内容均来自javascript高级教程,算是重读这本书的读书笔记吧。

首先常用的进制肯定是10进制了,但是如果一个数字是以0开头的,就会被当作八进制的数字,如下代码:

 var a=070;
console.log(parseInt(a,10)); //结果是56

十六进制也存在同样的问题,不过16进制一般我们遇到比较少,因为16进制是以0x开头的

另外,在严格模式下,如果使用八进制会报错的,看如下例子:

 (function(){
'use strict';
var a=070;
console.log(a);
})()
//SyntaxError: Octal literals are not allowed in strict mode.

说到浮点数,js中可以这么写,但是不推荐

 var floatNum1=1.1;
var floatNum2=0.1;
var floatNum3=.1;//可以省略前面的点
console.log(floatNum2==floatNum3);
var a=1. //被解析为1
var b=10.0 //被解析为10

另外,对float型的有舍入误差会导致下面的场景,0.1+0.2 != 0.3,例子如下:

 console.log(0.1+0.2)//0.30000000000000004
console.log(1.0-0.9)//0.09999999999999998
console.log(1.0-0.6 == 0.4)//true //这是解决办法
parseFloat((0.1+0.2).toFixed(10))//0.3
parseFloat((1.0-0.9).toFixed(10));//0.1

哈哈,好了不扯蛋了,还有两点,数值的范围跟非数值

js中的数字不是无限大的,超出某个界限就会变成Infinity,不过这个数字很大

 Number.MAX_VALUE
Number.MIN_VALUE
Number.MAX_SAFE_INTEGER
Number.MIN_SAFE_INTEGER

附上一个文档地址,这个有关于那个值的描述

最后,说下NaN,即not a  number ,是数字计算出错的时候会返回这个比如进行除数为0的除法,可以使用isNaN来判断结果是不是非数字,另外NaN和任何数字不相等

NaN==NaN //false

最后,在使用

parseFloat之类的方法的时候要小心,后面第二个参数尽量不要省略,会有惊喜的,哈哈!

javascript 中的number的更多相关文章

  1. ExtJS学习-----------Ext.Number,ExtJS对javascript中的Number的扩展

    关于ExtJS对javascript中的Number的扩展,能够參考其帮助文档,文档下载地址:http://download.csdn.net/detail/z1137730824/7748893 以 ...

  2. java基础63 JavaScript中的Number、Math、String、Date对象(网页知识)

    本文知识点(目录): 1.Number对象    2.Math对象    3.String对象    4.Date对象 (日历例子) 1.Number对象 1.1.Number对象的创建方式 方式1: ...

  3. JavaScript中的number跟string

    遇到问题困扰很久,因为这看起来木有问题,都是对的啊,殊不知是因为参数需要一个数字类型,但是数据却悄悄变成了字符类型.在群里求救无果最后自己找到了原因. 为什么我箭头里放数字可以正常显示,放temp[i ...

  4. javascript中的浮点数运算

    解释一下下面代码的输出 console.log(0.1 + 0.2); //0.30000000000000004 console.log(0.1 + 0.2 == 0.3); //false Jav ...

  5. JavaScript 中 Number()、parseInt()、parseFloat()的区别

    Number(): 概述:Number 对象由 Number() 构造器创建,是经过封装的能让你处理数字值的对象.在非构造器上下文中 (如:没有 new 操作符),Number 能被用来执行类型转换. ...

  6. Javascript中类型: undefined, number ,string ,object ,boolean

    var a1; var a2 = true;var a3 = 1;var a4 = "Hello";var a5 = new Object();var a6 = null;var ...

  7. JavaScript中Number常用属性和方法

    title: JavaScript中Number常用属性和方法 toc: false date: 2018-10-13 12:31:42 Number.MAX_VALUE--1.79769313486 ...

  8. 实现一个函数clone,使JavaScript中的5种主要的数据类型(包括Number、String、Object、Array、Boolean)进行值复制

    实现一个函数clone,可以对JavaScript中的5种主要的数据类型(包括Number.String.Object.Array.Boolean)进行值复制. 1 /** 对象克隆 2 * 支持基本 ...

  9. 使用 JavaScript 中的变量、数据类型和运算符,计算出两个 number 类型的变量与一个 string 类型的变量的和,根据 string 类型处于运算符的不同位置得到不同的结果

    查看本章节 查看作业目录 需求说明: 使用 JavaScript 中的变量.数据类型和运算符,计算出两个 number 类型的变量与一个 string 类型的变量的和,根据 string 类型处于运算 ...

随机推荐

  1. javascript声明变量

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  2. jdbc笔记(二) 使用PreparedStatement对单表的CRUD操作

    首先声明,本文只给出代码,并不是做教程用,如有不便之处,还请各位见谅. PreparedStatement相较于Statement,概括来说,共有三个优势: 1. 代码的可读性和易维护性:Prepar ...

  3. css 修改input中placeholder提示问题颜色

    input::-webkit-input-placeholder, textarea::-webkit-input-placeholder { color: rgba(74, 87, 103, 1); ...

  4. 系统开机时提示BOOTMGR is compressed

    问题描述: 开机时提示 BOOTMGR  is compressed Press Ctrl+Alt+Del to restart 操作方法: 1.插入带有U盘启动的U盘2.进入winpe系统后,打开“ ...

  5. k8s基本对象及架构

    一.基本对象 pod pod是最小的部署单元,一个pod由一个或多个容器组成,pod中的容器共享存储和网络,在同一台docker主机上运行. service service是一个应用服务的抽象,定义了 ...

  6. golang rc4加密

    package main import "crypto/rc4" import "fmt" func main() { key := []byte(" ...

  7. day14带参装饰器,迭代器,可迭代对象 , 迭代器对象 ,for迭代器 , 枚举对象

    复习 ''' 函数的嵌套定义:在函数内部定义另一个函数 闭包:被嵌套的函数 -- 1.外层通过形参给内层函数传参 -- 2.验证执行 开放封闭原则: 功能可以拓展,但源代码与调用方式都不可以改变 装饰 ...

  8. Java实训作业1

    1.编写程序:声明一个整型变量a,并赋初值5,在程序中判断a是奇数还是偶数,然后输出判断的结果 2.编写程序:从键盘输入圆的半径,计算圆的面积并输出. 3.编写程序:实现一个数字加密器.运行时输入加密 ...

  9. 关于截取URL地址参数的方法

    JS获取URL中最后一个斜杠前面的内容 var url = window.location.href; var index = url.lastIndexOf("\/"); str ...

  10. JsTree 最详细教程及完整实例

    JsTree是一个jquery的插件,它提交一个非常友好并且强大的交互性的树,并且是完全免费或开源的(MIT 许可).Jstree技持Html 或 json格式的的数据, 或者是ajax方式的动态请求 ...