网站首页 > 技术文章 正文
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.675ms4.不借助第三变量实现两个值的交换,如下所示
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);
})
false5.利用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(…)
- 上一篇: 面试官问道:常见的跨域处理方式有哪些?
- 下一篇: 单点登录是什么?三种情况的实现方式
猜你喜欢
- 2025-01-09 如何实现高性能的在线 PDF 预览
- 2025-01-09 再不用怕Markdown中的绘图,GitHub官方支持Mermaid图表绘制工具
- 2025-01-09 单点登录是什么?三种情况的实现方式
- 2025-01-09 面试官问道:常见的跨域处理方式有哪些?
- 2025-01-09 跨域问题?同源策略大全
- 2025-01-09 Vue开发中使用iframe
- 2025-01-09 关于Vue无法对iframe进行缓存的解决方案记录
- 2025-01-09 IFRAME的各种经验总结
- 2025-01-09 推荐!Iframe 的4种加载技术和性能优化!
- 2025-01-09 页面加载多个Iframe,白屏时间太长,如何优化?
- 最近发表
- 标签列表
-
- cmd/c (90)
- c++中::是什么意思 (84)
- 标签用于 (71)
- 主键只能有一个吗 (77)
- c#console.writeline不显示 (95)
- pythoncase语句 (88)
- es6includes (74)
- sqlset (76)
- apt-getinstall-y (100)
- node_modules怎么生成 (87)
- chromepost (71)
- flexdirection (73)
- c++int转char (80)
- mysqlany_value (79)
- static函数和普通函数 (84)
- el-date-picker开始日期早于结束日期 (76)
- js判断是否是json字符串 (75)
- c语言min函数头文件 (77)
- asynccallback (87)
- localstorage.removeitem (77)
- vector线程安全吗 (73)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- 无效的列索引 (74)
