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(…)

 

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

  1. 初学者学习JavaScript的实用技巧!

    Javascript是一种高级编程语言,通过解释执行.它是一门动态类型,面向对象(基于原型)的直译语言.它已经由欧洲电脑制造商协会通过ECMAScript实现语言标准化,它被世界上的绝大多数网站所使用 ...

  2. JavaScript 一些实用技巧

    快速创建从0到n的数字 let arr1 = [...(new Array(n)).keys()]; let arr2 = Array.from({length:n},(v, k) => k); ...

  3. javascript实用技巧、javascript高级技巧

    字号+作者:H5之家 来源:H5之家 2016-10-31 11:00 我要评论( ) 三零网提供网络编程. JavaScript 的技术文章javascript实用技巧.javascript高级技巧 ...

  4. 12个实用的 Javascript 奇淫技巧

    这里分享12个实用的 Javascript 奇淫技巧.JavaScript自1995年诞生以来已过去了16个年头,如今全世界无数的网页在依靠她完成各种关键任务,JavaScript曾在Tiobe发布的 ...

  5. JavaScript 实用技巧和写法建议

    1.前言 从大学到现在,接触前端已经有几年了,感想方面,就是对于程序员而言,想要提高自己的技术水平和编写易于阅读和维护的代码,我觉得不能每天都是平庸的写代码,更要去推敲,去摸索和优化代码,总结当中的技 ...

  6. 【JavaScript实用技巧(二)】Js操作DOM(由问题引发的文章改版,新人大佬都可)

    [JavaScript实用技巧(二)]Js操作DOM(由问题引发的文章改版,新人大佬都可!) 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人 ...

  7. JavaScript函数作用域与对象以及实用技巧

    1. JS作用域 1.1 全局作用域和局部作用域 函数外面声明的就是 全局作用域 函数内是局部作用域 全局变量可以直接在函数内修改和使用 变量,使用var是声明,没有var是使用变量. 如果在函数内使 ...

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

    我的个人博客:http://www.xiaolongwu.cn 在平时的开发中,编码技巧很重要,会让你少写很多代码,起到事倍功半的效果. 下面总结几种简单的技巧,大家共同学习一下 1. 利用+.-./ ...

  9. VUE基础实用技巧

    Vue以前听说过,有了解过一点.当时还在热衷于原生JavaScript去写一些方法的封装,不是为啥,就感觉这样很帅,后面多多少少接触了一些JQuery的用法,到现在为止,JavaScript原生封装的 ...

随机推荐

  1. Java序列化、反序列化和单例模式

    学习JAVA的时候,特别是涉及到网络编程时,我们时常让我们的实体类实现一个接口 public class Entity implements Serializable{ } 这样子我们可以通过输入输出 ...

  2. Mac git提交步骤小记

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; line-height: 19.0px; font: 13.0px "PingFang SC"; c ...

  3. 【转】最大流EK算法

    转自:http://www.cnblogs.com/kuangbin/archive/2011/07/26/2117636.html 图-1 如图-1所示,在这个运输网络中,源点S和汇点T分别是1,7 ...

  4. NGINX实现反向代理

    一.安装NGINX 略,请自行百度,GOOGEL 二.配置文件1.由上面的步骤,我们看到配置文件放置在/etc/nginx/目录下:主要配置文件:/etc/nginx/nginx.conf 扩展配置文 ...

  5. nginx-(/usr/local/nginx)配置编译

    ./configure \ --prefix=/usr/local/nginx \ --sbin-path=/usr/local/nginx/sbin/nginx \ --conf-path=/usr ...

  6. Android分享一款漂亮的折叠书架菜单

    一个Android折叠书架菜单,效果极佳,给人的视觉感觉很好,便于使用. FoldingMenu

  7. 浏览器中CSS的BUG

    对于web2.0的过度,请尽量用xhtml格式写代码,而且DOCTYPE 影响 CSS 处理,作为W3C的标准,一定要加 DOCTYPE声明. 其它请参考:CSS hack 针对IE6,IE7,fir ...

  8. Centos7下安装mono3.10.0

    mono 3.10.0 正式发布:性能进一步改进,以前已经写过一篇  Centos 7.0 安装Mono 3.4 和Jexus 5.6.下面我们在CentOS 7上通过源码安装Mono 3.10, 需 ...

  9. Javascript本质第二篇:执行上下文

    在上一篇文章<Javascript本质第一篇:核心概念>中,对Javascript执行上下文做了解释,但是这些都是基于Javascript标准中对执行上下文的定义,也就是说理论上的东西,本 ...

  10. Atom使用纪要

    一直在更新的原文地址奉上,欢迎PR:Atom使用纪要 官网地址: atom.io 目前(2015/7/29)Atom主题已有725个:Package已有2394 简单交代背景 Atom 是 Githu ...