//取整 parseInt(a,10); Math.floor(a); ~~a; //节省之后的写法 a|0; //节省之后的写法 //四舍五入 Math.round(a); a+.5|0; //节省之后的写法 //内置值未定义 undefined; void 0; //节省之后的写法(快) 0[0]; //节省之后的写法(略慢) //内置值 无穷 Infinity; 1/0;//节省之后的写法 //布尔值短写法 true; !0; //节省之后的写法 false; !1; //节省之后的写法…
今天 在看源码时,发现这种写法 if(value === void(0)){ // } 以前没有见过这种写法,感觉就是判断一个变量是否有值,官网上是这样说的: void运算符 对给定的表达式进行求值,然后返回 undefined. javascript 中当一个变量没有值时返回一个undefined,判断一个变量是否是undefined时用void操作符 参考资料: https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference…
这个是Backbone.js中的一句源码 if (callback !== void 0 && 'context' in opts && opts.context === void 0) opts.context = callback;此处void 0和undefined意义一样吗,我f12 chrome后, undefined === void 0;//true除了防止被重写外,还可以减少字节.void 0代替undefined省3个字节.类似的还有很多常用的写法,看到别…
语法 void expression // or void(expression) MDN的描述 能向期望一个表达式的值是 undefined 的地方插入会产生副作用的表达式.也就是为了避免产生某种副作用,将一个为 undefined 的值转换为 void 表达式 作用 避免undefined的重定义 由于undefined不是个关键字,es5以前可以将变量名undefined赋予一个变量,这时将会改变undefined的作用,在很多源码库中都使用了void(0)代替undefined.这个bu…
underscore 源码没有出现 undefined,而用 void 0 代替之.为什么要这么做?我们可以从两部分解读,其一是 undefined 哪里不好了,你非得找个替代品?其二就是替代品为毛要找 void 0? 我们先看第一点,答案很简单,undefined 并不是保留词(reserved word),它只是全局对象的一个属性,在低版本 IE 中能被重写. var undefined = 10; // undefined -- chrome // 10 -- IE 8 alert(und…
delete.in.typeof.instanceof.void详解 本文参考MDN做的详细整理,方便大家参考[MDN](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript) delete delete 运算符用来删除对象的自有属性. 语法:delete expression expression 的计算结果应该是一个对象的属性引用,如果不是一个对象的属性引用,那么,delete不会起任何作用,直接返回true. 在严格模式中,如果属性…
libnode 0.4.0 支持 Windows ,提升了性能,libuv 更新到 0.10.17 版本,libj 更新到 0.8.2 版本. libnode 是 C++ 语言版的 Node.js,和 Node.js 一样,libnode 提供了非堵塞的 I/O,可让你用 C++ 开发可伸缩的 Web 应用,实现了基于 shared_ptr 或 bdw-gc 自动的内存管理.libnode 很适合在嵌入式设备上使用,因为其系统资源消耗非常的低.…
Brief 一天有个朋友问我“JS中计算0.7 * 180怎么会等于125.99999999998,坑也太多了吧!”那时我猜测是二进制表示数值时发生round-off error所导致,但并不清楚具体是如何导致,并且有什么方法去规避.于是用了3周时间静下心把这个问题搞懂,在学习的过程中还发现不仅0.7 * 180==125.99999999998,还有以下的坑 1. 著名的 0.1 + 0.2 === 0.30000000000000004 2. 1000000000000000128 ===…
一.引出问题 0.1+0.2 = 0.3吗?在JS中是这样的吗?我们写个测试代码不就知道了吗? 结果出人意料,并不像我们所想象的那样.那么这到底是为什么呢? 二.原因分析 JS浮点数存储机制: 三.解决办法 1.自己实现浮点数加法 2.先转化可以计算的整数,再相加,最后转化为小数. 3.精度取一定位数如5  …
javascript:void(0)用法如下: <a href="javascript:void(0)"></a> // 执行js函数,0表示不执行函数. <a href="javascript:void func()"><button type="button">点我</button></a> // 执行函数func,括号里可以传参数.<script type=&qu…