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. 文档ID:某某 模板文件不存在,无法解析文档!

    如果是生成栏目列表时出现这样的问题]:   1.可以修改include/arc.listview.class.php这个文件. 2.复制代码     echo "模板文件不存在,无法解析文档 ...

  2. “我爱背单词”beta版发布与使用说明

    我爱背单词BETA版本发布 第二轮迭代终于画上圆满句号,我们的“我爱背单词”beta版本已经发布. Beta版本说明 项目名称 我爱背单词 版本 Beta版 团队名称 北京航空航天大学计算机学院  拒 ...

  3. 赵文豪 GDB调试汇编堆栈过程分析

    GDB调试汇编堆栈过程分析 使用gcc - g example.c -o example -m32指令在64位的机器上产生32位汇编,然后使用gdb example指令进入gdb调试器: 使用gdb调 ...

  4. Java的书写格式,标识符及命名规则,注释

    Java的书写格式,标识符及命名规则,注释 1.Java语言的书写格式(约定成俗) 1) 大括号要对齐(左大括号与句尾对其,后面大括号与句头对齐),并且成对写 2) 左大括号前面有空格 3) 遇到左大 ...

  5. ios 关于问题 no matching provisioning profiles found

    ios 关于问题 no matching provisioning profiles found

  6. 自定义cell右侧 多按钮

    #import "ViewController.h" @interface ViewController () <UITableViewDataSource, UITable ...

  7. IIS 8:IIS 入门

    深埋在您的 Microsoft 服务器 (2008年. 2008 R2 和 2012年的版本) 的范围内是最强大的 Web 服务器可用. 它只等待你来发挥其全部潜力. 您的目标是要从家里运行一个 Wo ...

  8. 关于JQuery的一个Bug

    关于JQuery的什么问题了? .parents()这个方法与form放在一起有些不对 上码 <!DOCTYPE html> <html> <head> <m ...

  9. Hadoop学习笔记—4.初识MapReduce

    一.神马是高大上的MapReduce MapReduce是Google的一项重要技术,它首先是一个编程模型,用以进行大数据量的计算.对于大数据量的计算,通常采用的处理手法就是并行计算.但对许多开发者来 ...

  10. 从Undo,Redo谈命令模式

    一般的应用软件中,通常会提供Redo和Undo的操作,比如Paint.NET中的动作面板,Word中的撤销重做,一般我们按Ctrl-Z即可回退到上次操作. 要实现上面的这一功能,最直观的想法就是,我们 ...