大家都知道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. 利用Python计算π的值,并显示进度条

    利用Python计算π的值,并显示进度条  第一步:下载tqdm 第二步;编写代码 from math import * from tqdm import tqdm from time import ...

  2. vue路由详解

    自己看vue文档,难免有些地方不懂,自己整理一下,主要是vue-router具体实现的操作步骤. 安装 直接下载/CDN https://unpkg.com/vue-router/dist/vue-r ...

  3. hiho一下 第207周

    题目1 : The Lastest Time 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 What is latest time you can make with ...

  4. Event and Delegate

    文章著作权归作者所有.转载请联系作者,并在文中注明出处,给出原文链接. 本文原更新于作者的github博客,这里给出链接. 委托 委托的实质是一个类. // 委托定义 delegate ReturnT ...

  5. centos7救援模式--误删/usr/bin/恢复

    模拟场景 centos7 误删/usr/bin/等系统内置文件夹, 导致几百个内置命令丢失. 修复 rescue模式 vm模拟一遍(如果在物理机, 可通过U盘方式直接开机U盘进入选择救援模式, 方式通 ...

  6. 算法(第四版)C# 习题题解——1.4

    写在前面 整个项目都托管在了 Github 上:https://github.com/ikesnowy/Algorithms-4th-Edition-in-Csharp 这一节内容可能会用到的库文件有 ...

  7. python 环境安装和卸载1

    同事换了新机器,系统从win7变为了win10,因此需要重新安装python环境啦!不废话,直奔主题. A 安装 一.进入python官网  www.python.org 进入downloads-&g ...

  8. linux服务基础之http协议

    URI:Uniform Resource Identifier URL: Uniform Resource Locator,用于描述某服务器某特定资源的位置 URN: Uniform Resource ...

  9. 【搬运工】redis 启动和关闭

    如果是用apt-get或者yum install安装的redis,可以直接通过下面的命令停止/启动/重启redis /etc/init.d/redis-server stop /etc/init.d/ ...

  10. 关于win10触控板两指点击无效的问题

    一.前言 最近发现公司的本本两指点击触控板没有反应,单指和三指点击触控板都是正常的.网上也搜了 一些解决的方法,最开始因为没有明确自己的触控板是Synaptics还是Elan的,导致没有解决.首先我们 ...