超实用 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 ...
随机推荐
- Leetcode:Minimus Depth of Binary Tree
The problem description: Given a binary tree, find its minimum depth. The minimum depth is the numbe ...
- 使用 ASP.NET MVC 4, EF, Knockoutjs and Bootstrap 设计和开发站点 - 6 - 业务逻辑
翻译:使用 ASP.NET MVC 4, EF, Knockoutjs and Bootstrap 设计和开发站点 - 6 - 业务逻辑 Part 3: 设计逻辑层:核心开发 如前所述,我们的解决方案 ...
- RTB撕开黑盒子 Part 0:Pacing: is everyone doing it wrong?
曾尝试为我们的RTB客户解决过Pacing问题,Pacing问题要解决的问题是:如果一个客户给你一笔预算,让你去运营一个广告推广计划,在一定的时间内投放广告,将这笔预算在指内的时间内,比较均匀地将预算 ...
- 最近对Memcache的一些学习
首先,Memcache是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态.数据库驱动网站的速度,再特别强调下:M ...
- FpGrowth算法
FpGrowth算法 频繁项集与关联规则挖掘(2)--FpGrowth算法 上一篇介绍了关联规则挖掘的一些基本概念和经典的Apriori算法,Aprori算法利用频繁集的两个特性,过滤了很多无关的 ...
- MVC从视图传参到Controller几种方式
简单数组传递 var array = ["aaa", "bbb", "ccc"]; $.ajax({ url:"@Url.Acti ...
- 使用Varnish+ESI实现静态页面的局部缓存(思路篇)
使用Varnish+ESI实现静态页面的局部缓存(思路篇) 页面静态化是搭建高性能网站必用的招式之一,页面静态化可以有效提升系统响应速度,同时也有利于搜索引擎优化.但在页面静态化后,静态页面之间包含( ...
- Swift3.0服务端开发(二) 静态文件添加、路由配置以及表单提交
今天博客中就来聊一下Perfect框架的静态文件的添加与访问,路由的配置以及表单的提交.虽然官网上有聊静态文件的访问的部分,但是在使用Perfect框架来访问静态文件时还是有些点需要注意的,这些关键点 ...
- Android本地化资源目录详解
我们可以设想,有两个不同分辨率的手机(320*480和480*800)要使用一些图像资源,为了使图像不失真,就需要为不同分辨率的手机指定不同的图像,为此就需要建立不同的资源目录. 在res目录中建立了 ...
- MySQL SET TRANSACTION 设置事务隔离级别
1. 首先说一下autocommit 默认情况下autocommit的开关是打开的,也就是ON,查看方法 方法1. select @@[global/session].autocommit; 方法2. ...