奇思妙想
2024年 7月 4日
2024年 7月 2日
为什么JS允许函数先使用后定义?
这与JS运行机制息息相关,JS代码块的函数声明会在代码运行之前被”提前预处理”。同样,Java/C#一样允许类成员函数A调用B,但B的实现在A之后。这与C/C++的头文件必须先 …阅读更多
2024年 7月 2日
复合赋值运算符 a op= b和a = a op b等价?
前者表达式a只会计算一次,后者会计算两次,所以只有a并非带有副作用的表达式,a op= b才和a = a op b等价,否则会收到a副作用的影响。例如:
2024年 7月 2日
为什么在Windows命令行输入shift执行shift.exe会没有任何输出?
根本原因在于shift是Windows命令解释器CMD.exe的内置命令,用于移位参数。当你编写一个shift.exe时,只输入shift并不会执行你的程序,而是优先执行内置移位参数。需要输入全名sh …阅读更多
2024年 6月 29日
为什么浮点数会搞出Infinity和NAN两种类型?
本质上,Infinity和NAN内部存储依然是一个浮点数,只是需要和正常的浮点数区分开。IEEE754标准规定浮点数有指数E和尾数M部分,标准规定当E等于255(E的最大值),可代表Infinity无 …阅读更多