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,c=10;

if(a===b){

  a=c;

}else if(a===c){

  a=b;

}

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

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

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


随机HEX16进制随机颜色

//方法1

function randomColor(){

  colorStr="#"+("00000"+(Math.random()*0x1000000<<0).toString(16)).slice(-6);

}

//方法2

function randomColor(){

  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. Xamarin的不归路-使用Gorilla Player实时预览XAML
  2. 最短路径问题——floyd算法
  3. java 删除目录、 文件
  4. SQL is null函数
  5. 拓展开源库SwipeToLoadLayout实现EmptyView和Empty时自动禁用LoadMore
  6. c++ 私有函数 头文件设计
  7. 在外国网站上看到一个用artoolKit做的demo,学习了用gcd创建单列
  8. firefox HackBar组件模拟请求POST请求
  9. java学习笔记—集合之Map集合
  10. IdentityServer Topics(4)- 登录
  11. CSS3左右间歇晃动效果
  12. ASP.NET没有魔法——目录(完结)
  13. Loj #2331. 「清华集训 2017」某位歌姬的故事
  14. ansible-host file
  15. SQL命令入门。
  16. 欢迎加入.NET Core 技术QQ群一起讨论交流学习
  17. html ie
  18. Lua C/C++互相调用
  19. 实用ExtJS教程100例-007:ExtJS中Window组件最小化
  20. HDOJ1000

热门文章

  1. day1-3js代码执行特性
  2. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 排版:标题
  3. .NET精彩博文
  4. k短路算法
  5. GsonUtils.getGson().fromJson() 转泛型集合用法
  6. 树莓派4B踩坑指南 - (2)安装系统及初始化
  7. react - get或set 取值函数
  8. 阿里云服务器Ubantu16.04升级python3.6
  9. 十四 Spring的AOP的基于AspectJ的注解开发
  10. Firefox中有时使用window.close()脚本无法关闭当前窗口