超实用 JS 代码段笔记(一)
序1:30段简单代码段(有删减)
1 . 区分 IE 和 非 IE 浏览器
if(!+[1,]){
console.log('ie浏览器');
}else{
console.log('非ie浏览器');
}
2. 将日期直接转换为数值。

3. 最简单的选择运算符 ||
var a = 0 || 3;
console.log(3);

4. 单链式运算 ( 如:a++ - 1 )
var a = 10;
console.log(a++ - 1); // 先执行 a - 1, 在执行 a = a + 1

5. 跳转至新页面,并且保证浏览器不会在回退。
// 一开始我打开的是 baidu , 使用 location.repalce 跳转之后浏览器返回不到百度了。
location.replace('http://www.wiz.cn');

6. 验证是否为负数的正则表达式
/^-\d+$/.test(num);

7. 用 JS 打印页面, window.print() 属于浏览器内置的 API
window.print();
8. 把一个值转换成 布尔型值的最简单方式, 使用 " ! " 操作符两次,可以把一个值转换为布尔类型
!! 'demo'; // true
!!''; // false
!!'0' // true
!!{} // true
9. 判断浏览器是否支持 HTML5, 在 HTML5 中 navigator.geolocation; 可以获取当前设备的位置,通过 双 "!" 就可以判断是否支持此 API, 即是否支持 HTML5
!!navigator.geolocation;

10. 判断浏览器是否支持 Canvas
function isCanvas(){
return !!document.createElement('canvas').getContext;
}
isCanvas();

11. 判断浏览器版本
window.navigator.appVersion;

12. 实现对 Windows、Mac、Linux、UNIX 操作系统的判断
var osType="",
windows = (navigator.userAgent.indexOf("Windows", 0) != -1) ? 1 : 0,
mac = (navigator.userAgent.toLowerCase().indexOf("mac", 0) != -1) ? 1 : 0,
linux = (navigator.userAgent.indexOf("Linux", 0) != -1) ? 1 : 0,
unix = (navigator.userAgent.indexOf("X11", 0) != -1) ? 1 : 0; if(windows) osType = "Windows";
else if(mac) osType = "Mac";
else if(linux) osType = "Linux";
else if(unix) osType = "UNIX"; console.log(osType);

13. 使用原生 JS 判断是否是移动设备浏览器
var mobileReg = /iphone|ipad|android.*mobile|windows.*phone|blackberry.*mobile/i;
if(mobileReg.test(window.navigator.userAgent.toLowerCase())){
console.log('移动设备');
}else{
console.log('非移动设备');
}

2. 常用代码段收集
超实用 JS 代码段笔记(一)的更多相关文章
- 超实用js代码段一
1: 过滤首尾空格trim.2:过滤左边空格ltrim 3:过滤右边空格 一:用正则方法写成三个函数. <script type="text/javascript" ...
- 我们为什么要看《超实用的Node.JS代码段》
不知道自己Node.JS水平如何?看这张图 如果一半以上的你都不会,必须看这本书,一线工程师用代码和功能页面来告诉你每一个技巧点. 都会一点,但不知道如何检验自己,看看本书提供的面试题: 1. ...
- 《超实用的Node.js代码段》连载三:Node.js深受欢迎的六大原因
<超实用的Node.js代码段>连载一:获取Buffer对象字节长度 <超实用的Node.js代码段>连载二:正确拼接Buffer Node.js是一种后起的优秀服务器编程语言 ...
- 实用的JS代码段(表单篇)
整理了下比较实用的Javascript代码段,完整的代码参考 1 多个window.onload方法 由于onload方法时在页面加载完成后,自动调用的.因此被广泛的使用,但是弊端是只能实用onloa ...
- 《超实用的Node.js代码段》连载二:正确拼接Buffer
对于初学Node.js框架的开发人员来说,可能认为Buffer模块比较易学.重要性也不是那么突出.其实,Buffer模块在文件I/O和网络I/O中应用非常广泛,其处理二进制的性能比普通字符串性能要高出 ...
- 《超实用的Node.js代码段》连载一:获取Buffer对象字节长度
我们知道Node.js框架下的Buffer对象能够对二进制数据提供很好的支持,那么获取一个Buffer对象真实的字节长度则是必须要用到的功能了.Node.js框架为开发人员提供了一个Buffer.by ...
- JS代码段:返回yyyy-mm-dd hh:mm:ss
最近做项目的时候正好用到,本着能抄就抄的心态去百度搜索现成的代码, 没想到抄下来的好几个都是错的,要么getMonth没有加1,要么10以下的数字前面没有加0, 我真是日了狗了,这次把写好的正确的直接 ...
- 验证表单的js代码段
JS常用功能 转载自:http://blog.csdn.net/kalision/article/details/12516103 引用js文件: <script src="js/d ...
- 实际项目中积累的一些关于事件的简单应用JS代码段(能力有限,不喜轻喷,23333)
1:鼠标移入移出显示另一张图片 var yuanquan_1 = document.getElementById("yuanquan_1" ); yuanquan_1. onmo ...
随机推荐
- Word2Vec在中文的应用
google最近新开放出word2vec项目,该项目使用deep-learning技术将term表示为向量,由此计算term之间的相似度,对term聚类等,该项目也支持phrase的自动识别,以及与t ...
- [转]gdb 调试 objc
源:http://bbs.pediy.com/showthread.php?t=159549 3. 在没有 symbols的情况下,想要下断 objc method 或者 private framew ...
- revel框架教程之缓存和Job
Go语言实战 - revel框架教程之缓存和Job 所有的网站应该都会有一个非常简单的需求,首页一秒之内打开. 满足的方式主要有两种: 页面静态化,效果最好,对服务器基本没负担,只要带宽足够就好了 ...
- eclipse plugin 导出插件包
当我们的插件在完成一个阶段性开发的时候,我们要发布一个1.0的版本.这个时候会碰到一个问题.如何把我们的插件打成包?有多种途径,下面具体讨论一下. 首先从插件完成到被他人(或者我们自己)使用有两个步骤 ...
- Dynamic CRM 2013 on Windows Azure VM
三个A2 Size的VM,运行Windows Server 2012: AD Server,SQL Server,App Server 将AD Server的ip地址填写到Windows Azure虚 ...
- XHtml(Xml+Html)语法知识(DTD、XSD)
那点你不知道的XHtml(Xml+Html)语法知识(DTD.XSD) 什么是XHtml: 摘录网上的一句话,XHTML就是一个扮演着类似HTML的角色的XML. XHtml可当模板引擎应用: CYQ ...
- KnockOut文档--模板绑定
目的 模板绑定使用数据render模板,然后把渲染的结果填充到Dom树中.模板通过重复或嵌套块(通常为您的视图模型数据的函数)用一种简单,方便的方式来建立复杂的UI结构 . 有两种方式使用模板: Na ...
- spring得到实例和new一个实例,哪个快?
spring配置的bean是默认单例,那么在程序中,得到一个实例一定比创建一个实例的速度快,也更加省资源.今天实际测试的时候发现,new 一个对象比spring得到一个对象快多了.后面自己又加了个单例 ...
- SQL 两表关联查询 where 条件中等号两端字段顺序对效率的影响
现有两表A(大).B(小)作关联查询,SQL语句如下: SQL1:select * from A,B where A.id = B.id SQL2:select * from A,B where B. ...
- VS超强调试技巧--忍不住想赞一下
你是否曾遇到一个项目启动都要半分钟? 启动后调试或突然看到有行代码写错了?然后开始了: 处理步骤:停止运行->修改代码->重新启动(10-30秒)->又写错了->又要修改-&g ...