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(…)
Javascript一些实用技巧的更多相关文章
- 初学者学习JavaScript的实用技巧!
Javascript是一种高级编程语言,通过解释执行.它是一门动态类型,面向对象(基于原型)的直译语言.它已经由欧洲电脑制造商协会通过ECMAScript实现语言标准化,它被世界上的绝大多数网站所使用 ...
- JavaScript 一些实用技巧
快速创建从0到n的数字 let arr1 = [...(new Array(n)).keys()]; let arr2 = Array.from({length:n},(v, k) => k); ...
- javascript实用技巧、javascript高级技巧
字号+作者:H5之家 来源:H5之家 2016-10-31 11:00 我要评论( ) 三零网提供网络编程. JavaScript 的技术文章javascript实用技巧.javascript高级技巧 ...
- 12个实用的 Javascript 奇淫技巧
这里分享12个实用的 Javascript 奇淫技巧.JavaScript自1995年诞生以来已过去了16个年头,如今全世界无数的网页在依靠她完成各种关键任务,JavaScript曾在Tiobe发布的 ...
- JavaScript 实用技巧和写法建议
1.前言 从大学到现在,接触前端已经有几年了,感想方面,就是对于程序员而言,想要提高自己的技术水平和编写易于阅读和维护的代码,我觉得不能每天都是平庸的写代码,更要去推敲,去摸索和优化代码,总结当中的技 ...
- 【JavaScript实用技巧(二)】Js操作DOM(由问题引发的文章改版,新人大佬都可)
[JavaScript实用技巧(二)]Js操作DOM(由问题引发的文章改版,新人大佬都可!) 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人 ...
- JavaScript函数作用域与对象以及实用技巧
1. JS作用域 1.1 全局作用域和局部作用域 函数外面声明的就是 全局作用域 函数内是局部作用域 全局变量可以直接在函数内修改和使用 变量,使用var是声明,没有var是使用变量. 如果在函数内使 ...
- js基础进阶--编的实用技巧(一)
我的个人博客:http://www.xiaolongwu.cn 在平时的开发中,编码技巧很重要,会让你少写很多代码,起到事倍功半的效果. 下面总结几种简单的技巧,大家共同学习一下 1. 利用+.-./ ...
- VUE基础实用技巧
Vue以前听说过,有了解过一点.当时还在热衷于原生JavaScript去写一些方法的封装,不是为啥,就感觉这样很帅,后面多多少少接触了一些JQuery的用法,到现在为止,JavaScript原生封装的 ...
随机推荐
- sublime 编辑器配置和构建检查
sublime3插件 安装node包 jscs npm install jscs -g jshint npm install jshint -g csscomb npm install csscomb ...
- 紫書_例5-10 UVa207
細節較多,自己寫的第一份半殘品,未能AC,后參考了劉老師的代碼,寫出了第二份的代碼,經過多次修改后總算AC,然而後果也很嚴重,導致代碼和劉老師極其相似,這也是我不喜歡看了參考代碼后再自己寫的緣故. 祇 ...
- Openssl生成证书三板斧
证书创建三步曲: 一.密钥文件 二.请求文 三.根证书签名 最后看需要是否合并证书文件 1. 创立根证书密钥文件(自己做CA)root.key: [kk@test ~]$ openssl genrsa ...
- PAT Judge
原题连接:https://pta.patest.cn/pta/test/16/exam/4/question/677 题目如下: The ranklist of PAT is generated fr ...
- Django后台
django的后台我们只要加少些代码,就可以实现强大的功能. 与后台相关文件:每个app中的 admin.py 文件与后台相关. 下面示例是做一个后台添加博客文章的例子: 一,新建一个 名称为 zqx ...
- Mysql的用户名密码设置方法
方法如下: 1, 关闭mysql服务 /etc/init.d/mysqld stop 2,使用 –skip-grant-tables选项启动mysql服务,可以修 改/etc/inin.d/mysql ...
- Linux搜索文件夹下所有文件中字符串
1.grep "status_bar_height" * -nR /* 搜索文件中有很多不存在的文件出现 */ 2.grep -nsr "status_bar_heigh ...
- PYTHON之全局变量
应该尽量避免使用全局变量.不同的模块都可以自由的访问全局变量,可能会导致全局变量的不可预知性.对全局变量,如果程序员甲修改了_a的值,程序员乙同时也要使用_a,这时可能导致程序中的错误.这种错误是很难 ...
- 解读ASP.NET 5 & MVC6系列(4):核心技术与环境配置
asp.net 5是下一代的asp.net,该版本进行了全部重写以适用于跨平台,新新版本中,微软引入了如下工具与命令:DNVM.DNX.DNU. DNVM(.NET Version Manager): ...
- HTML5特性速记图
今天推荐大家一张HTML5特性速记图,供大家平时查阅,也可以打印放在电脑旁帮助速记.速查.此图笔者收集于网络图片.