IE判断检测

jQuery 在 1.9 版本之前,提供了一个浏览器对象检测的属性 使用率极高。但是在版本发布之后,大家钟爱的这个属性被无情的抛弃了。大家开始着手寻找.browser 的替代方案。于是各种利用 IE bug 的检测方法被搜了出来:

// IE 678 最短方法 
var ie = !-[1,];

解析 : 
在标准浏览器下 
false

IE 6 7 8 下: 
true

拆解步骤

/* IE678 */ 
[-1,] //[object Array] [-1, undefined] 逗号后位置初始化为undefined未省略 2 
-[-1,] //NaN 
/* 非IE */ 
[-1,] // [-1] 省略了 , 之后空位 1 
-[-1,] // 1 隐式计算 先转化为number然后进行 --取反 


当然还有很多方式,这里稍微列举一下


var ie = /*@cc_on!@*/false 
var ie//@cc_on=1 
var ie = '\v'=='v' 
var ie = !+"\v1" 

var isIE = function(ver){
var b = document.createElement('b')
b.innerHTML = '<!--[if IE ' + ver + ']><i></i><![endif]-->'
return b.getElementsByTagName('i').length === 1;
}

位运算的神奇应用

toggle 两个值

比如 下面几种 反向判断赋值 如果 a == b 那就让 a = c 如果 a == c 那就让 a = b

var a = 10 , b = 20 , x = 10;
if( a === b){
a = c;
}else if( a === c){
a = b;
}

我们尝试一行代码解决这个问题吧!!!

x = a ^ b ^ x; //按位异或

按位异或计算 
真^假=真 
假^真=真 
假^假=假 
真^真=假’


随机HEX16进制随机颜色

function randomColorU(){
colorStr = "#"+("00000"+(Math.random()*0x1000000<<0).toString(16)).slice(-6);
}
 
function randomColor(){
  var colorStr=Math.floor(Math.random()*0xFFFFFF).toString(16).toUpperCase();
  return"#"+"000000".substring(0,6-colorStr)+colorStr;
}

向下取整怎么写?

parseInt(15.5); //15
Math.floor(15.5); //15
15.5 >>> 0; //15
15.5 >> 0; //15
15.5|0; //15
~~(15.5); //15

只要能把小数位干掉,目的就达到了

最新文章

  1. U盘安装CentOS 7.0
  2. POJ2187 Beauty Contest
  3. 【Pro ASP.NET MVC 3 Framework】.学习笔记.6.SportsStore:导航
  4. fsutil
  5. Android--Fragment的懒加载
  6. 动态加载JS代码
  7. main thread starting…
  8. 深入理解Javascript闭包概念
  9. 转:【Java集合源码剖析】TreeMap源码剖析
  10. deepfake-faceswap第一篇论文-2016摘要
  11. 63.1拓展之纯 CSS 创作一个摇摇晃晃的 loader
  12. 考研部分概念和流程(若不全和错误可提示我补充,另考研帮app推荐)
  13. react/React Native 在 import 导入时,有的带花括号{},有的不带原理解析
  14. change color
  15. 第二节 java流程控制(循环结构)
  16. centos7 自动定时备份mysql数据库
  17. 解决loadrunner录制页面的乱码问题
  18. java.util.zip.ZipException: duplicate entry(重复依赖多版本的类库)
  19. Unique constraint on single String column with GreenDao2
  20. study mysql

热门文章

  1. ACdream 1099求第k大
  2. ArcGISTiledMapServiceLayer
  3. RabbitMQ的优劣势
  4. 阿里云SaaS生态战略发布,用宜搭5分钟部署OCR文字识别
  5. Linux C socket 基于 UDP
  6. springboot security 安全
  7. Leetcode811.Subdomain Visit Count子域名访问计数
  8. @topcoder - SRM766R1 D1L3@ ShortestMissingSubsequences
  9. 介绍配置管理工具SVN的使用
  10. 【NS2】用eclipse调试NS2(转载)