小朱的博客

我努力是因为我什么都没有却什么都想要

我想说 
这个世界不只有眼前的苟且,还有诗和远方。

主要技能

    PHP / YII2。

    MYSQL 

    Javascript / JQUERY  /  VUE 

    CSS / Bootstrap / AdminLTE

    小程序 /  uni-app

常用软件

    Git / SVN

   PHPSTORM / Eclipse

    宝塔面板 / LNMP

    SQLYOG


一个人成长的快慢,主要取决于他在工作之外的 8 小时做什么。

把简单的事情坚持下去。

业余时间用在哪,回报就在哪。

企业里的老员工的优势不在于具备更强的业务能力,而在于对内部流程有较高的熟悉程度。这种在同一个环境中久待而形成的思维定式,可能因为符合既定环境而让人一时受益,但长久看来,却是阻碍创新的掣肘。

互联网行业从来没有“稳定之说”。


javascript中的那些让人摸不着头脑的不=

发布,1 人读过
javascript

阳光明媚,微风和煦。

我在这个城市最高的大楼里的一间小格子里盯着电脑屏幕,恩,今天我值班。QQ群是公司群发布的一些信息和业绩播报;我盯着内网客户,在考虑跟谁电话催单。

已经在这样的环境里浸泡几年了:我走路变得很快;说话会事先思考;偶尔为自己的心软自责,因为我想要“像一个厉害销售”。要说这几年的成长,可能用“训练”要来的准确;我总是觉得人越大,接触的社会规则越多,天生的触角会失去灵敏。

今个咱来盘点盘点javascript中那些让人摸不着头脑的不等;
本篇博客略偏学术性研究形式了;
除了浮点数运算常见写;
其他的在实际开发中并不多么实用;

一:首先上场的是NaN:
NaN在js中是一个神(xian)奇(jing)的存在;
它用来代表不是数字、不可表示的值;
如果我们理解了它代表的是不可表示的值;
那么也就能接受打印的false了;

NaN == NaN;// false

JavaScript

Copy

对于NaN更为深入的探讨可以参考这篇博客;这里就不再过多介绍了(需要自带梯子);The Curious Case of JavaScript NaN

二:接着是关于作为除数的-0;

1/0 == 1/-0;// false

JavaScript

Copy

如果我们理解了1/0结果是正无穷大、1/-0结果是负无穷大;
那么也就能接受打印的false了;

三:浮点数的运算;

0.3-0.2 == 0.2-0.1;// false

JavaScript

Copy

如果我们理解了0.3-0.2的结果是0.09999999999999998的时候;
那么也就能接受打印的false了;
原因是javascript采用了IEEE-754浮点数表示法;
它可以精准的表示分数;
却不能准确的表示类似0.1这样的浮点数;

四:数组、对象的比较

var a=[1];var b=[1];a==b; // false

JavaScript

Copy

如果我们理解了*(这次没能一句话概括;待我有空了再来编辑整理);
那么也就能接受打印的false;

数组和数组是不能直接比较的;
那如果想比较怎么办呢?
那是可以转成字符串的;

var a=[1];var b=[1];a.toString()==b.toString(); // true

JavaScript

Copy

当然为了更严谨;当数组有多个元素时;最好再加个排序;

var a=[1,2];var b=[2,1];a.sort().toString()==b.sort().toString(); // true

JavaScript

Copy

对象同理;

白俊遥博客