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常用的经典小技巧的更多相关文章

  1. 【前端】javascript中10常用的个小技巧总结

    javascript中10常用的个小技巧总结 本文转自:http://www.cnblogs.com/libin-1/p/6756393.html 1. new Set() 可能有人知道ES6中提供了 ...

  2. JavaScript使用中的一些小技巧

    任何一门技术在实际中都会有一些属于自己的小技巧.同样的,在使用JavaScript时也有一些自己的小技巧,只不过很多时候有可能容易被大家忽略.而在互联网上,时不时的有很多同行朋友会总结(或收集)一些这 ...

  3. JavaScript的取值小技巧之“中括号[]取值法”

    一.简介 做下记录,今天看了一篇很有意思的文章,学到了这个取值的小技巧 正常的话我们一般都是用对象直接去'.'对应的属性名(也就是键值对的键)来获取对应的值 这里记录的是另一种取值方式,他是采用中括号 ...

  4. 前端网络、JavaScript优化以及开发小技巧

    一.网络优化 YSlow有23条规则,中文可以参考这里.这几十条规则最主要是在做消除或减少不必要的网络延迟,将需要传输的数据压缩至最少. 1)合并压缩CSS.JavaScript.图片,静态资源CDN ...

  5. javascript的几个小技巧

    1.在循环中缓存array.length 这个技巧很简单,这个在处理一个很大的数组循环时,对性能影响将是非常大的.基本上,大家都会写一个这样的同步迭代的数组. for(var i=0;i<arr ...

  6. 常用的CSS小技巧

    实际开发过程中会遇到一些需要用CSS小技巧处理的布局问题,现在分享几个个人工作中遇到的小问题和解决方案. 1.inline元素间的空白间隙 这里要介绍一个神器font-size:0. 如果你写了个列表 ...

  7. Android开发中常用的一些小技巧(转载)

    http://www.jb51.net/article/61135.htm Activity.startActivities() 常用于在应用程序中间启动其他的Activity. TextUtils. ...

  8. myeclipse常用快捷键和小技巧

    常用快捷键: Ctrl + Shift + R 在整个项目中查找文件 Ctrl + H 查找文件,可以限定文件中包含的内容 Ctrl + Shift + G 查找一个方法在哪里被调用 Ctrl + O ...

  9. 【javascript】 for循环小技巧

    最近在读[Jquery技术内幕],里面介绍了一种js for循环的实用写法. 一般写for循环是这么写的: var elemts = [1,2,3,4,5]; for(var i=0; i<el ...

随机推荐

  1. BestCoder Round #68 (div.2) tree(hdu 5606)

    tree Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submis ...

  2. Umbraco官方技术文档 中文翻译

    Umbraco 官方技术文档中文翻译 http://blog.csdn.net/u014183619/article/details/51919973 http://www.cnblogs.com/m ...

  3. 【转】C#传委托给C的函数指针调用问题

    C#传委托给C的函数指针调用问题C代码如下: #include "stdio.h" __declspec(dllexport) int Call(int (*qq)(int num ...

  4. 网络子系统54_ip协议分片重组_定位ipq

    //为分片确定正确的ipq结构 // 定位5元组 // 1.<id, 源ip, 目的ip, l4协议> 可通过ip报文获取 // 2.user 通过ip_defrag给出,指出重组是由谁发 ...

  5. Web开源框架大汇总

    Struts 项目简介信息 Struts是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的.由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速,在过去的 ...

  6. Nginx端口的修改

    修改 nginx.conf 文件实现.在 Linux 上该文件的路径为 /usr/local/nginx/conf/nginx.conf,Windows 下 安装目录\conf\nginx.conf. ...

  7. JdbcTemplate增删改查

    1.使用JdbcTemplate的execute()方法执行SQL语句 jdbcTemplate.execute("CREATE TABLE USER (user_id integer, n ...

  8. 英特尔实感3D摄像头

    RealSense 3D(实感3D)是英特尔提供的一套感知计算解决方案,包括了手势的识别.控制,人脸的识别.认证.控制,语音识别与控制,增强现实,3D扫描和重构等许多先进的技术.包括立体眼镜(暂未公开 ...

  9. ADO.NET 快速入门(三):从存储过程获取输出参数

    一些存储过程通过参数返回值.当参数在SQL表达式或者存储过程中被定义为“输出”,参数值会返回给调用者.返回值存储在 OleDbCommand 或者 SqlCommand 对象的参数集合的参数里.   ...

  10. 多线程/进度条应用(progressbar)

    使用Control Sets 下的 ProgressBar - Responsive Loop控件 ProcessBar 或者 CancelBar 都可以被设置为 invisible 代码如下(分享自 ...