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页告诫我们说,“永远不要测试某个特定的浮点数值”。
^_^
好烧脑啊,果然智商是我的硬伤。
今天就到这吧