今天刚看到
js
归并排序排序有一段知道作用和Math.floor()
一样,~
是取反的意思,两次取反还是什么的,之前在jQuery
源码里面还见到类似+ function(){}、?function(){}、!function(){}
.这样的目的是什么,让源码看起来更加简单,效率更高还是怎么?求教!!!
function merge(left, right) { var tmp = []; while (left.length && right.length) { if (left[0] < right[0]) tmp.push(left.shift()); else tmp.push(right.shift()); } return tmp.concat(left, right); } function mergeSort(a) { if (a.length === 1) return a; var mid = ~~(a.length / 2) //------------------->"~~" , left = a.slice(0, mid) , right = a.slice(mid); return merge(mergeSort(left), mergeSort(right)); }
小怪兽爱吃肉
相关分类