JavaScript常用的经典小技巧
1、屏蔽鼠标右键
<--body 方式-->
<body oncontextmenu="window.event.returnValue=false">
</body>
<-- 可用于table-->
<table border oncontextmenu=return(false)>
<td>no</td>
<td>no</td>
</table>
2、取消选取,防止复制
<body onselectstart="return false">
3、不准粘贴
<body onpaste="return false">
4、检查一段字符串是否全由数字组成
function checkNum(str){
return /^\d*$/.test(str);
}
alert(checkNum("1232142141")) // true
alert(checkNum("123214214a1")) // false
// 第二种方法
function isNumber(n){
return !isNaN(parseFloat(n)) && isFinite(n);
}
5、从数组中随机获取成员
var items = [12, 548 , 'a' , 2 , 5478 , 'foo' , 8852, , 'Doe' , 2145 , 119];
var randomItem = items[Math.floor(Math.random() * items.length)];
console.log(randomItem);
6、生成从0到指定值的数字数组
var numbersArray = [] , max = 10;
for( var i=1; numbersArray.push(i++) < max;); // numbers = [1,2,3 ... 10]
console.log(numbersArray.join());
7、打乱数字数组的顺序
var numbers = [5, 458 , 120 , -215 , 228 , 400 , 122205, -85411];
numbers = numbers.sort(function(){ return Math.random() - 0.5});
/* numbers 数组将类似于 [120, 5, 228, -215, 400, 458, -85411, 122205] */
8、字符串去空格
String.prototype.trim = function(){
return this.replace(/^\s+|\s+$/g, "");
}
console.log("**"+(" ceshi ").trim()+"##");
// **ceshi##
9、用JSON来序列化与反序列化
var person = {name :'xiaoming', age : 22, department : {ID : 15, name : "shichang"} };
var stringFromPerson = JSON.stringify(person);
console.log(stringFromPerson)
/*结果为:"{"name":"xiaoming","age":22,"department":{"ID":15,"name":"shichang"}}"*/
var personFromString = JSON.parse(stringFromPerson);
console.log(personFromString)
/* personFromString 的值与person对象相同 */
10、使得map()函数方法对数据循环
var squares = [1,2,3,4,5].map(function (val) {
return val * val;
});
console.log(squares)
// 结果为: [1, 4, 9, 16, 25]
11、日期减去天数等于第二个日期
function getDate(date,calDate){
var a = new Date(date)
a = a.valueOf()
// a = a - calDate * 24 * 60 * 60 * 1000 //减天数
a = a + calDate * 24 * 60 * 60 * 1000 //加天数
a = new Date(a)
console.log(a.getFullYear() + "年" + (a.getMonth() + 1) + "月" + a.getDate() + "日")
}
getDate("03/31/2016",2)
/*结果为:2016年4月2日*/
JavaScript常用的经典小技巧的更多相关文章
- 【前端】javascript中10常用的个小技巧总结
javascript中10常用的个小技巧总结 本文转自:http://www.cnblogs.com/libin-1/p/6756393.html 1. new Set() 可能有人知道ES6中提供了 ...
- JavaScript使用中的一些小技巧
任何一门技术在实际中都会有一些属于自己的小技巧.同样的,在使用JavaScript时也有一些自己的小技巧,只不过很多时候有可能容易被大家忽略.而在互联网上,时不时的有很多同行朋友会总结(或收集)一些这 ...
- JavaScript的取值小技巧之“中括号[]取值法”
一.简介 做下记录,今天看了一篇很有意思的文章,学到了这个取值的小技巧 正常的话我们一般都是用对象直接去'.'对应的属性名(也就是键值对的键)来获取对应的值 这里记录的是另一种取值方式,他是采用中括号 ...
- 前端网络、JavaScript优化以及开发小技巧
一.网络优化 YSlow有23条规则,中文可以参考这里.这几十条规则最主要是在做消除或减少不必要的网络延迟,将需要传输的数据压缩至最少. 1)合并压缩CSS.JavaScript.图片,静态资源CDN ...
- javascript的几个小技巧
1.在循环中缓存array.length 这个技巧很简单,这个在处理一个很大的数组循环时,对性能影响将是非常大的.基本上,大家都会写一个这样的同步迭代的数组. for(var i=0;i<arr ...
- 常用的CSS小技巧
实际开发过程中会遇到一些需要用CSS小技巧处理的布局问题,现在分享几个个人工作中遇到的小问题和解决方案. 1.inline元素间的空白间隙 这里要介绍一个神器font-size:0. 如果你写了个列表 ...
- Android开发中常用的一些小技巧(转载)
http://www.jb51.net/article/61135.htm Activity.startActivities() 常用于在应用程序中间启动其他的Activity. TextUtils. ...
- myeclipse常用快捷键和小技巧
常用快捷键: Ctrl + Shift + R 在整个项目中查找文件 Ctrl + H 查找文件,可以限定文件中包含的内容 Ctrl + Shift + G 查找一个方法在哪里被调用 Ctrl + O ...
- 【javascript】 for循环小技巧
最近在读[Jquery技术内幕],里面介绍了一种js for循环的实用写法. 一般写for循环是这么写的: var elemts = [1,2,3,4,5]; for(var i=0; i<el ...
随机推荐
- 【C++专题】static_cast, dynamic_cast, const_cast探讨
首先回顾一下C++类型转换: C++类型转换分为:隐式类型转换和显式类型转换 第1部分. 隐式类型转换 又称为“标准转换”,包括以下几种情况:1) 算术转换(Arithmetic conversion ...
- [iOS基础控件 - 6.12.1] QQ菜单管理 UITabBarController 控制器管理
A.需求 1.类似QQ.微信顶部或者底部的窗口转换导航条 2.给每个页面添加相应内容 B.UITabBarController 1.基本概念: (1)内容高度 iOS7之前内容高度为:屏幕高度 - ...
- 转载 从Http到Https
转载自 http://www.cnblogs.com/silin6/p/5928503.html HTTP 当你在浏览器输入一个网址 (例如 http://tasaid.com)的时候,浏览器发起一个 ...
- Codeforces Round #245 (Div. 1) B. Working out (简单DP)
题目链接:http://codeforces.com/problemset/problem/429/B 给你一个矩阵,一个人从(1, 1) ->(n, m),只能向下或者向右: 一个人从(n, ...
- Unity3D之游戏暂停制作方法记录
在游戏开发中我们一般都需要涉及到一个功能:游戏暂停,但是这里指的暂停仅仅是核心模块的暂停,并不是整个游戏都暂停,比如一些UI和UI上的动画与特效是不能被暂停的,整个游戏都暂停了玩家该如何继续游戏呢. ...
- Windows 8 之 windbg 配置
怎么安装windbg? 在Win8中,要通过安装windows 8 SDK来安装. 安装之后,在C:\Program Files (x86)\Windows Kits\8.0\Debuggers\x6 ...
- CentOS6.5安装图形界面
转载自http://www.cnblogs.com/zydev/p/5128788.html 一.使用网络安装(如果网络比较快,这个方法简单) yum groupinstall "Deskt ...
- Date、String、Calendar、Timestamp类型之间的转化
1.Calendar 转化 String Calendar calendat = Calendar.getInstance(); SimpleDateFormat sdf = new SimpleDa ...
- 正则表达式从右往左进行匹配(Regex)
#匹配最末两位为数字 $x=New-Object regex ('\d{2}','RightToLeft') #$x.RightToLeft $x.Match('abcd22') 结果:
- HDOJ 1151 Air Raid
最小点覆盖 Air Raid Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) T ...