重学javascript 红皮高程(5)
JS这项技术,细节到位了,就会一通百通。经常在网上看到说学一个框架,最有效的办法是去看它的源码。但我经常看不懂,为什么呢?因为我基础不好,不明白源码中的一些写法的含义。
例如,
callback && callback();
//这啥意思?
obj.length === +obj.length;
//这又是啥意思?
var arrproto = Array.prototype;
arrproto.slice.call(arguments);
//为啥要这样写?不是都这样写 Array.prototype.slice.call的吗?
这么多的看不懂,当然看不懂那些源码了。所以,一切尽在JS基础之中。
也知道你们不爱看这个,从每天公众号的阅读量上就能看出来。随便写点什么上班、职场、工作中的扯淡事,这阅读量啊,这留言数啊,这粉丝数啊,哗哗的涨,但是没什么用啊,光看这些你能找着工作嘛,看我写那些扯淡的玩艺儿你能通过面试嘛。
写这些东西,其实我根本不关心你们看不看。因为,我本来就有基础,写这些东西,等于是我学习之后又复习一遍,不管你们会没会,反正我是会了。哈哈,,
来,今天继续学习浮点数,我再复习下“e表示法”,即科学计数法。
这种方法一般用在特别大或小的数字上,就是零特别多的数。
用e表示法表示的数,等于e前面的数值乘以10的指数次幂,
这句话是TMD的什么意思?
幂?!杨幂?小学文化的我表示完全看不懂,,艹
往下看下一行的例子吧,
var floatNum = 3.125e7;
//说是等于31250000,,,-_-
书上第28页的解释说,
前面是一个数值,应该是3.125
中间是字母e,大小写都有,,
后面是10的幂中的指数,该幂值与前面的数相乘。
百度了一下,幂就是指数。
例如,2的3次方,就是3个2相乘嘛,2*2*2=8;
这个3,就是幂,就是指数。
按这个套路,那上面那句“e前面的数值乘以10的指数次幂”,
翻译一下应该就是,“e前面的数值乘以(7个10相乘)”,
再翻译一下应该就是,“e前面的数值乘以(10000000)”,
再再翻译一下应该就是,“3.125 乘以 10000000”。
结果等于 3.1250000
这个e表示法,也可以表示极小数,0.00000003 什么的,可以换成3e-8之类的。
浮点数的最高精度就是17位了,但它的精确度不如整数,因为它会搞个什么舍入之类的。
总之,书中第28页告诫我们说,“永远不要测试某个特定的浮点数值”。
^_^
好烧脑啊,果然智商是我的硬伤。
今天就到这吧
- ElasticSearch搜索引擎在SpringBoot中的实践
- 消费者驱动的微服务契约测试套件Spring Cloud Contract
- 使用Spring Boot开发一个Spring Mobile程序
- Spring Cloud中Hystrix 线程隔离导致ThreadLocal数据丢失
- 内网穿透工具-ittun
- Elastic-Job-Spring-Boot-Starter简化你的任务配置
- Spring Boot处理REST API错误的正确姿势
- C语言之位运算
- C语言之预处理命令与用typedef命名已有类型
- spring-data-mongodb之MongoTemplate 删除操作
- 总结了一些指针易出错的常见问题(六)
- spring-data-mongodb之MongoTemplate 修改数据
- spring-data-mongodb之MongoTemplate 添加数据
- Cannot create a session after the response has been committed
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- [AWR报告]Latch Hit %
- [Python运维]Python3.6的安装
- [Python运维]cx_Oracle模块的安装
- C#中抽象类与抽象方法的作用与实例
- C++ 基础扫盲(1)
- [Python运维]使用cx_Oracle连接Oracle(高级篇)
- [Python运维]使用Python发送邮件
- [Python运维]自动化监控Oracle表空间并发送报警
- [Python运维]自动化监控多个Oracle表空间
- c# 动态生成控件
- C# 10分钟完成百度人脸识别——入门篇
- C#开启线程的四种方式
- C++入门实例:创建工程、opencv引用及简单实例
- C#实例:datagridview单元格合并
- C# 封装实例