网站首页 > 知识剖析 正文
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<num;i++){ ~~Math.random; } console.timeEnd('~~计时器'); console.time('|0计时器'); for(var j=0;j<num;j++){ Math.random|0; } console.timeEnd('|0计时器'); console.time('parseInt计时器'); for(var k=0;k<num;k++){ parseInt(Math.random); } console.timeEnd('parseInt计时器'); } getInteger(10000000) ~~计时器: 2608.639ms |0计时器: 2562.203ms parseInt计时器: 5111.675ms
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(…)
猜你喜欢
- 2024-11-17 CSV Parquet Avro:为正确的工作选择合适的工具
- 2024-11-17 JS基础进阶- 同步异步编程和EventLoop底层机制
- 2024-11-17 5个你应该知道的JavaScript技巧,不能错过!
- 2024-11-17 map映射+异步加载 完美过渡 if else
- 2024-11-17 Chrome控制台的一些有用API(chrome控件)
- 2024-11-17 Javascript调试器自编代码及运用(js调试工具和方法如何使用)
- 2024-11-17 NET中的定时器:种类与应用场景(winform定时器)
- 2024-11-17 全栈之路:从一个深拷贝开始循序渐进
- 2024-11-17 localStorage灵魂五问。 5M??10M(灵魂官方网站)
- 2024-11-17 JS中用于跟踪程序执行时间的专用函数,两个同时出现截断时间戳
- 最近发表
- 标签列表
-
- xml (46)
- css animation (57)
- array_slice (60)
- htmlspecialchars (54)
- position: absolute (54)
- datediff函数 (47)
- array_pop (49)
- jsmap (52)
- toggleclass (43)
- console.time (63)
- .sql (41)
- ahref (40)
- js json.parse (59)
- html复选框 (60)
- css 透明 (44)
- css 颜色 (47)
- php replace (41)
- css nth-child (48)
- min-height (40)
- xml schema (44)
- css 最后一个元素 (46)
- location.origin (44)
- table border (49)
- html tr (40)
- video controls (49)