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

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

JavaScript的一些SAO操作的更多相关文章

  1. JavaScript 的一些SAO操作

    IE判断检测 jQuery 在 1.9 版本之前,提供了一个浏览器对象检测的属性 .browser 的替代方案.于是各种利用 IE bug 的检测方法被搜了出来: // IE 678 最短方法 var ...

  2. 关于JavaScript中的delete操作

    关于JavaScript中的delete操作 看到一道题,是这样的: (function(x){ delete x; return x; })(1); 1 null undefined Error 我 ...

  3. JavaScript对SVG进行操作的相关技术

    原文地址:http://www.ibm.com/developerworks/cn/xml/x-svgscript/   本文主要介绍在 SVG 中通过编程实现动态操作 SVG 图像的知识. SVG ...

  4. javascript中字符串常用操作整理

    javascript中字符串常用操作整理 字符串的操作在js中非常频繁,也非常重要.以往看完书之后都能记得非常清楚,但稍微隔一段时间不用,便会忘得差不多,记性不好是硬伤啊...今天就对字符串的一些常用 ...

  5. 学习笔记: JavaScript/JQuery 的cookie操作

    转自:http://blog.csdn.net/barryhappy/archive/2011/04/27/6367994.aspx cookie是网页存储到用户硬盘上的一小段信息.最常见的作用是判断 ...

  6. PHP与JavaScript下的Cookie操作

    下面的例子列出几种情形交互场景,列出JS和php交互的方法.总结下,以免日后再为cookie问题困扰. setcookie.php getcookie.php 总结: php用自身函数读取php 的c ...

  7. Day3JavaScript(一)JavaScript初识以及bom操作

    JavaScript简介 什么是JavaScript 弱类型,动态类型,基于原型的直译性的编程语言.1995年netscape(网景)在导航者浏览器中设计完成. JavaScript的特点 1.与HT ...

  8. JavaScript中使用ActiveXObject操作本地文件夹的方法

    转载地址    http://www.jb51.net/article/48538.htm 在Windows平台上, js可以调用很多Windows提供的ActivexObject,本文就使用js来实 ...

  9. Javascript学习笔记二——操作DOM

    Javascript学习笔记 DOM操作: 一.GetElementById() ID在HTML是唯一的,getElementById()可以定位唯一的一个DOM节点 二.querySelector( ...

随机推荐

  1. Vue2.0史上最全入坑教程(中)—— 脚手架代码详解

    书接上文我们说道,如何利用脚手架(vue-cli)构建一个vue项目,本回书我们一起来学习分析下代码. 回顾下创建后的项目目录:   说明:在*.vue文件,template标签里写html代码,且t ...

  2. Android学习笔记之mainfest文件中android属性

    android:allowTaskReparenting 是否允许activity更换从属的任务,比如从短信息任务 切换到浏览器任务. -------------------------------- ...

  3. Python多线程在爬虫中的应用

    题记:作为测试工程师经常需要解决测试数据来源的问题,解决思路无非是三种:(1)直接从生产环境拷贝真实数据 (2)从互联网上爬取数据 (3)自己用脚本或者工具造数据.前段时间,为了获取更多的测试数据,笔 ...

  4. loadrunner分析之-网页、网络、资源分析

    在Web Page Diagnostics(网页分析)中当在场景中打开Diagnostics菜单下的Web Page Diagnostics功能,就能得到网页分析组图.通过这个图,可以对事务的组成进行 ...

  5. 麻烦把JS的事件环给我安排一下

    上次大家跟我吃饱喝足又撸了一遍PromiseA+,想必大家肯定满脑子想的都是西瓜可乐...... 什么西瓜可乐!明明是Promise! 呃,清醒一下,今天大家搬个小板凳,听我说说JS中比较有意思的事件 ...

  6. day38 13-Spring的Bean的属性的注入:SpEL注入

    Spring2.5提供了名称空间p注入属性的方式,Spring3.几提供了SpEL属性注入的方式. <?xml version="1.0" encoding="UT ...

  7. c中函数指针和回调函数

    函数指针: 指向函数的指针.(定义的函数会分配一块内存,同变量一样存在首地址)示例如下: int Func(int x); /*声明一个函数*/ int (*p) (int x); /*定义一个函数指 ...

  8. Ubuntu中NS2安装详细教程

    前言: NS2是指 Network Simulator version 2,NS(Network Simulator) 是一种针对网络技术的源代码公开的.免费的软件模拟平台,研究人员使用它可以很容易的 ...

  9. 介绍(javascript调试)

    Chrome developer tool Chrome浏览器得益于其优秀的V8解释器,javascript执行速度和内存占有率表现非常优秀.对于html+css+javascript前台技术的学习或 ...

  10. php Laravel Thrift使用TMultiplexedProcessor复用端口模式

    thrift的使用中一般是一个Server对应一个Processor和一个Transport,如果有多个服务的话,那必须要启动多个Server,占用多个端口,这种方式显然不是我们想要的,所以thrif ...