<JS>学习笔记(Number)

新人学习JS的日记。

欢迎各位朋友纠错!

以下内容都在谷歌浏览器进行测试可用

>>语法
let n = 1;
n = new Number(1) //不推荐使用. 
>>进制

注意!!!
进制只是方便自己而已。
JS会立刻将其转换为10进制的值,在去进行相应操作。

都不区分大小写
二进制( 0b/0B 开头)
n = 0b101 // 5

八进制( 0o/0O 开头) (0在非严格模式也会解析为八进制,但是严格模式已经禁止这种0开头的八进制)
n = 0o70 // 56
n = 070 // 56 严格模式禁止的语法,不建议使用

十六进制( 0X/0x 开头)
n = 0xA // 10
n = 0Xa // 10 

科学计数法(e/E)
n = 1e1 // 10
数值过大 会转换为科学计数法显示(阈值我不清楚)
Math.pow(2,500) //3.273390607896142e+150
>>属性
>> Number.EPSILON   计算机精度误差   
1: 解决一些浮点数问题. 0.1 + 0.2 会计算为 0.30000000000000004
例如 0.1 + 0.2 === 0.3 // false 改为:Math.abs(0.1 + 0.2 - 0.3) < Number.EPSILON  true

>> Number.MAX_SAFE_INTEGER -- 最大安全整数(JS中)
1: Math.pow(2,53) - 1 即是该值
2: 超过该值,表示和比较就不准确. 如例3
3: Number.MAX_SAFE_INTEGER + 1 === Number.MAX_SAFE_INTEGER + 2 会返回true 
4: 最小安全整数是 该值直接加负号

>> Number.MAX_VALUE -- 能显示的最大数值
1: 该值大约为: 1.7976931348623157e+308
2: 大于该值就表示为 Infinity
3: 能显示的最小数值:该值加负号

>> Number.MIN_VALUE -- 能表示的最接近0的正值(而不是最小负值)
1: 该值大约为: 5e-324
2: 比该值小的(但不小于0) 会换转换为0

>> Number.NaN -- 特殊值NaN
1: 与window.NaN 无区别,只是为了更加规范才在Number下添加这个属性.
2: 应该返回一个正常数值,但是没有,就会返回NaN 例如: Number('dsds') //NaN
3: NaN不等于自己,也是唯一一个不等自己的值. 例如: 
   NaN === NaN // false 
   Number.NaN === NaN; // false
4: 任何和NaN进行<运算>的值都返回 NaN
   位运算中NaN被转换为0
   逻辑运算中都返回false // 除!NaN返回true  

>> Number.POSITIVE_INFINITY -- 正无穷
1: 值为:Infinity
>> Number.NEGATIVE_INFINITY -- 负无穷
1: 值为:-Infinity
2: 任何正值(包括 Infinity) * Infinity <都返回> Infinity
   任何负值(包括-Infinity) * Infinity <都返回> -Infinity
   Infinity / 任何正值(除了Infinity)  <都返回> Infinity
   Infinity / 任何负值(除了-Infinity) <都返回> -Infinity
   (NaN 或 0) * (Infinity 或 -Infinity)  <都返回> NaN
   (Infinity 或 -Infinity) / (Infinity 或 -Infinity) <都返回> NaN
   任何数 / Infinity  都为0 
   任何数 / -Infinity 都为-0

>> Number.prototype -- Number构造函数原型
1: 原型是一个 0 的封装对象
   测试: Object.prototype.toString.call(Number.prototype) // "[object Number]"
2: ES5规定该值不可变. 严格模式下会报错.
>>静态方法
>> Number.isNaN(val) -- 检测是否为NaN
1: 与window.isNaN(val)的区别:Number下的方法,val不进行类型转换.只有val是NaN,数值类型,才返回true. 例如:
   Number.isNaN(NaN) // true
   isNaN(NaN) // true 全局方法可以不写window
   Number.isNaN('dsd') // false
   window.isNaN('dsd') // true
2: 建议使用这个,不建议使用window.isNaN(val)

>> Number.isFinite(val) -- 检测是否为有穷数
1: 与window.isFinite(val)的区别:Number下的方法,val不进行类型转换.只有val是有穷值,数值类型,才返回true. 例如:
   Number.isFinite('0') // false
   isFinite('0') // true
   Number.isFinite(Infinity) // false
   Number.isFinite(NaN) // false
2: 建议使用这个,不建议使用window.isFinite(val)

>> Number.isInteger(val) -- 判断是否为整数
1: 如果被检测的值是整数,则返回 true,否则返回 false。
2: 注意 NaN 和 正负Infinity 不是整数。
3: 不行进行类型转换
4: Number.isInteger(0.1)  // false
   Number.isInteger("10") // false

>> Number.isSafeInteger(val) -- 判断是否为安全整数
1: 安全整数范围为 -(Math.pow(2,53) - 1)到 Math.pow(2,53) - 1 之间的整数,包含 -(Math.pow(2,53) - 1)和 Math.pow(2,53) - 1.
2: 不行进行类型转换
3: Number.isSafeInteger(Math.pow(2, 53)) // false
   Number.isSafeInteger("3") // false
   Number.isSafeInteger(3.1) // false

>> Number.parseInt(str[, radix])
1: 与window..parseInt(str)无区别.只是更加规范
2: str:字符串,不是字符串,则将其转换为字符串. radix:按照几进制转换.默认为10
3: 无法解析成浮点数,返回NaN
4: 值过于大返回Infinity 

>> Number.parseFloat(str) -- 将字符串解析为浮点数.
1: 与window..parseFloat(str)无区别.只是更加规范
2: str:字符串,不是字符串,则将其转换为字符串
3: 无法解析成浮点数,返回NaN
4: 值过于大返回Infinity 
>>实例方法
let num = 10.1234;

>> num.toString([radix])
1: radix:按radix进制转换,默认10
2: Number对象覆盖了 Object对象上的 toString() 方法,它不是继承的 Object.prototype.toString()
3: 例: num.toString() // "10.1234"
   num.toString(2) // "1010.000111111001011100100100011101000101001110001111"

>> num.toFixed(digtis) -- 指定小数位数
1: num小数位数不够用0填充
2: num小数位数大于digtis时,按照四舍五入的规则舍去.
3: 默认digtis为0, 介于 0 到 20 (包括)之间,不同浏览器支持范围不同.
4: 返回字符串
5: 例: num.toFixed(1) // 10.1

>> num.toPrecision(precision) -- 指定有效数位数
1: num数位数不够用0填充
2: num数位数大于digtis时,按照四舍五入的规则舍去.
3: 如果 precison 参数不在 1 和 100 (包括)之间,将报错 。执行环境影响支持大小。
4: 可以理解为:前digtis有效(即不去改变其值),剩余位置都变为0.
5: 返回字符串.某些情况以指数表示法返回.
6: 例: num.toPrecision(4) // "10.12"
   (10.1234).toPrecision(1) // "1e+1"

>> num.toExponential(fractionDigits) -- 用指数表示法
1: fractionDigits:指定小数点后有几位.默认使用尽可能多的位数.
2: 返回字符串
3: 例:num.toExponential() // "1.01234e+1"
   num.toExponential(1) // "1.0e+1"

以上是我所知的的东西,有任何错误,请在评论指出!
O(∩_∩)O谢谢你的观看~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,117评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,328评论 1 293
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,839评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,007评论 0 206
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,384评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,629评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,880评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,593评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,313评论 1 243
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,575评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,066评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,392评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,052评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,082评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,844评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,662评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,575评论 2 270

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 170,569评论 25 707
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,295评论 18 399
  • 在这样的深夜,高考以后,难得的没有等待分数的负担,也没有填报志愿的苦恼的夜晚,我还在失眠。其实,即使是高考前夜,一...
    Violette__阅读 68评论 0 0
  • 2017年 8月12日 星期六 天气晴 今天下午和二轩去大队去打球,打着打着实在是累的不...
    曲亚轩阅读 100评论 0 0
  • 一、起因 由于现在在学习Python,越来越觉得Terminal是个神器,但是之前毫无生气的颜色搭配,以及不那么个...
    __LuckyPan__阅读 5,344评论 0 2