Javascript一些实用技巧

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-10-08 04:18:19

Javascript一些实用技巧的相关文章

12个实用的 Javascript 奇淫技巧

这里分享12个实用的 Javascript 奇淫技巧.JavaScript自1995年诞生以来已过去了16个年头,如今全世界无数的网页在依靠她完成各种关键任务,JavaScript曾在Tiobe发布的编程语言排行榜中排到了第8名,紧随C#,JavaScript从过去装饰性的一种脚本语言转变为主流的编程语言,人们用它来开发更大更复杂的程序. 1. 取整同时转成数值型: '10.567890'|0 结果: 10 '10.567890'^0 结果: 10 -2.23456789|0 结果: -2 ~~

js基础进阶--编的实用技巧(一)

我的个人博客:http://www.xiaolongwu.cn 在平时的开发中,编码技巧很重要,会让你少写很多代码,起到事倍功半的效果. 下面总结几种简单的技巧,大家共同学习一下 1. 利用+.-./1,*1将字符串转换为整数型 这个方法试用于将字符串类型的数字转换为整数型,如果带字母就会返回NaN. var a = "1234", b = "leonWuv"; //我们想把a转换为1234的整数型,一般方法 console.log(typeof Number(a)

盘点用Java抓取HTTP服务器和FTP服务器的网页数据或图片等数据的实用技巧

摘要 在信息时代,常常需要通过编程的方式来灵活整理各种网络数据.首先涉及到如何方便准确地抓取网络数据.下面盘点用Java程序来访问HTTP服务器以及FTP服务器的各种实用技巧.主要介绍了Java Socket.java.net.URL类.Selenuim软件包.Apache HttpClients.Apache FTPClient来和HTTP服务器以及FTP服务器通信的方法以及其优缺点. 参考资料 (1)本文参考了笔者所写的<Java网络编程核心技术详解>,2020年上半年出版. (2)Jav

总结vue知识体系之实用技巧

vue 作为目前前端三大框架之一,对于前端开发者可以说是必备技能.那么怎么系统地学习和掌握 vue 呢?为此,我做了简单的知识体系体系总结,不足之处请各位大佬多多包涵和指正,如果喜欢的可以点个小赞!本文主要讲述一些vue开发中的实用技巧. 相关推荐 总结vue 知识体系之基础入门篇 总结几个vue-router的使用技巧 搭建一个vue-cli的移动端H5开发模板 监听组件的生命周期 比如有父组件 Parent 和子组件 Child,如果父组件监听到子组件挂载 mounted 就做一些逻辑处理,

Mac预览怎么用 Mac预览功能实用技巧大全

Mac预览怎么用?有很多的用户以为Mac自带的预览功能只具有简单的图片浏览功能,其实不然,其实"预览"是一款强大的看图.修图.改图软件,也同时是一款多功能的 PDF 阅读与编辑工具,接下来Pc6苹果小编给大家详细介绍一下Mac预览功能实用技巧. 目前的 Mac 预览程式可以支持 TIFF. PNG. JPEG. GIF. BMP. PDF 等主要文件格式的浏览与编辑,而单纯预览上也可以支持像是 Photoshop 等专业图像处理软件. Office 等专业文书处理软件所产生的特殊文件格

iOS开发实用技巧—Objective-C中的各种遍历(迭代)方式

iOS开发实用技巧—Objective-C中的各种遍历(迭代)方式 说明: 1)该文简短介绍在iOS开发中遍历字典.数组和集合的几种常见方式. 2)该文对应的代码可以在下面的地址获得:https://github.com/HanGangAndHanMeimei/Code 一.使用for循环 要遍历字典.数组或者是集合,for循环是最简单也用的比较多的方法,示例如下: 1 //普通的for循环遍历 2 -(void)iteratorWithFor 3 { 4 //////////处理数组/////

NSString的八条实用技巧

NSString的八条实用技巧 有一篇文章写了:iOS开发之NSString的几条实用技巧 , 今天这篇,我们讲讲NSString的八条实用技巧.大家可以收藏起来,方便开发随时可以复制粘贴. 0.首字母大写 代码: //首字母大写 NSString *string = @"ligang"; NSLog(@"string: %@",[string capitalizedString]); 打印: 2015-07-16 23:06:11.652 iOSStrongDem

Android开发:TVBox智能机顶盒开发实用技巧分享

本文旨在指导想要进入Android TVBox智能机顶盒开发领域或刚刚进入Android TVBox开发领域的新人带路,愿你们越走越远! 实用工具篇 Eclipse+ADT 别问它干嘛用的,我也不知道. SercureCRT SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,同时支持Telnet和rlogin协议. SecureCRT是一款用于连接运行包括Windows.UNIS和VMS的远程系统的理想工具. 通过使用内含的VCP命令行程序可以进行加密文件的传输.有流行CR

程序员在编程开发中的10个实用技巧

程序员在编程开发中的10个实用技巧,下面是我自己在工作中学到的一些简单的技巧和策略,希望能对各位有用.1.     橡皮鸭调试法不知道各位有没有这样的经历,当你正在给别人描述问题的时候,突然灵机一动想到了解决方案?这种情况的产生是有科学依据的.高谈阔论能让我们的大脑重新有条理地组织问题.在这种情况下,你的聊天对象就是“橡皮鸭”.团队中的每个人都应该积极主动乐意地成为彼此的“橡皮鸭”.有时候,如果你幸运的话,你的“橡皮鸭”搞不好还能给出有效的建议呢.2.     快速信息反馈一旦写好代码就要尽快得