1.利用NumberObj的toString(radix)方法获取随机数字字母字符串,radix是表示数字的基数,就是进制,如下所示
var getRndAlphaNumStr = (len) => { var rndStr = ''; for (; rndStr.length < len; rndStr += Math.random().toString(36).substr(2)); return rndStr.substr(0, len);};getRndAlphaNumStr(10)"ugyjusoh2a"
2.禁止他人利用iframe形式加载你的网页,如下所示
function banIframeLoading(){ (window.location !== window.top.location)&&(window.top.location=window.location);}
3.浮点数取整,利用|0和~~位运算来做,性能相对parseInt要好些,如下所示
function getInteger(num){ console.time('~~计时器'); for(var i=0;i
4.不借助第三变量实现两个值的交换,如下所示
function swap(a,b){ a = [b,b=a][0]; return [a,b];}console.log(swap(10,30));[30, 10]
5.因为全局变量undefined在函数作用域中可以被重新赋值,导致某些情况下利用undefined作比较时发生错误,因此需要获取原始undefined值,如下所示
(function(){ var undefined = 1; console.log(undefined);})()1------------------- 使用 void 0 来获取原始undefined----------(function(){ console.log(!!void 0);})()false
5.利用Math.max方法求数组的最大值,如下所示
function max(arr){ return Math.max.apply(null,arr);}
6.数组随机洗牌
function arrSuffle(arr){ return arr.sort(function(){ return Math.random()-0.5; });}console.log([2,3,199,20,45]);
7.利用正则表达式获取指定的cookie
function getCookie(cKey){ return document.cookie.match(new RegExp('(?:^|'+'\\s+|;+)'+cKey+'=([^;]*)','i'))[1];}
8.快速获取对象的属性
function getObjKeys(obj){ var arr = []; for(arr[arr.length] in obj); return arr;}
9.在前置括号的情况下,不会自动插入分号,如下所示
var a = 1(a=1)VM2329:3 Uncaught TypeError: 1 is not a function(…)