一个奇葩的最短的 IE 版本判断JS脚本

 更新时间:2014年05月28日 10:35:49   作者:  
这篇文章主要介绍了一个奇葩的最短的 IE 版本判断JS脚本,非常酷的一段代码,需要的朋友可以参考下

使用 conditional comment 来判断 IE 的版本。嗯,是早早有人提出,但没有认真看代码。昨天刚好在看 CSS3 PIE 的时候看到,觉得是不是不靠谱。今天看到 Paul Irish 也提起,那么,推荐一下吧。这是作者博客上写的:

复制代码 代码如下:

// ----------------------------------------------------------
// A short snippet for detecting versions of IE in JavaScript
// without resorting to user-agent sniffing
// ----------------------------------------------------------
// If you're not in IE (or IE version is less than 5) then:
//     ie === undefined
// If you're in IE (>=5) then you can determine which version:
//     ie === 7; // IE7
// Thus, to detect IE:
//     if (ie) {}
// And to detect the version:
//     ie === 6 // IE6
//     ie > 7 // IE8, IE9 ...
//     ie < 9 // Anything less than IE9
// ----------------------------------------------------------

// UPDATE: Now using Live NodeList idea from @jdalton

var ie = (function(){

    var undef,
        v = 3,
        div = document.createElement('div'),
        all = div.getElementsByTagName('i');

    while (
        div.innerHTML = '<!--[if gt IE ' + (++v) + ']><i></i><![endif]-->',
        all[0]
    );

    return v > 4 ? v : undef;

}());

注意一下这个 while 语句。是我觉得最有趣的。对于逗号操作符。我也不熟悉,还只是停留在像变量定义的用法上。比如:

复制代码 代码如下:

var  a= 'b', c = 'd', e = 'f';

var obj = {
 a: 'b',
 c: 'd',
 e: 'f'
}


问了工友 @kangpangpang,再查了一下书。其实这个比较少见。通常是返回最后一个值。
复制代码 代码如下:

var a = (1,2,3,5,6,0,9,4); // a === 4

嗯,大概就是这样。挺有趣的。

相关文章

  • js手机号4位显示空格,银行卡每4位显示空格效果

    js手机号4位显示空格,银行卡每4位显示空格效果

    这篇文章主要介绍了js手机号4位显示空格,银行卡每4位显示空格效果,手机号和银行卡号,按照每4位显示一个空格的需求,非常具有实用价值,需要的朋友可以参考下。
    2017-03-03
  • 简单聊聊JavaScript的事件循环机制

    简单聊聊JavaScript的事件循环机制

    前端开发的童鞋应该都知道,JavaScript是一门单线程的脚本语言,这就意味着JavaScript 代码在执行的时候,只有一个主线程来执行所有的任务,同一个时间只能做同一件事情,这篇文章主要给大家介绍了关于JavaScript事件循环机制的相关资料,需要的朋友可以参考下
    2022-03-03
  • JavaScript动态检验密码强度的实现方法

    JavaScript动态检验密码强度的实现方法

    平时我们会在某些网站的注册页面或者更改密码的页面发现当我们输入密码时,会有一个类似于进度条的长条进行提示用户输入的密码强度。那么这种效果怎么实现的呢?下面小编给大家介绍下js动态检验密码强度的实现方法,一起看看吧
    2016-11-11
  • 如何在微信小程序里面退出小程序的方法

    如何在微信小程序里面退出小程序的方法

    这篇文章主要介绍了如何在微信小程序里面退出小程序的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • 浅谈微信小程序之官方UI框架we-ui使用教程

    浅谈微信小程序之官方UI框架we-ui使用教程

    这篇文章主要介绍了浅谈微信小程序之官方UI框架we-ui使用教程,WeUI 是一套同微信原生视觉体验一致的基础样式库,由微信官方设计团队为微信内网页和微信小程序量身设计,感兴趣的小伙伴们可以参考一下
    2018-08-08
  • 关于定制FileField中的上传文件名称问题

    关于定制FileField中的上传文件名称问题

    本文通过实例代码给大家介绍了定制FileField中的上传文件名称问题,感兴趣的朋友参考下吧
    2017-08-08
  • 完美解决JS文件页面加载时的阻塞问题

    完美解决JS文件页面加载时的阻塞问题

    下面小编就为大家带来一篇完美解决JS文件页面加载时的阻塞问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • js中单引号与双引号冲突问题解决方法

    js中单引号与双引号冲突问题解决方法

    这篇文章介绍了js中单引号与双引号冲突问题解决方法,有需要的朋友可以参考一下
    2013-10-10
  • 微信小程序自定义模态弹窗组件详解

    微信小程序自定义模态弹窗组件详解

    这篇文章主要为大家详细介绍了微信小程序自定义模态弹窗组件,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-12-12
  • JavaScript中的逻辑判断符&&、||与!介绍

    JavaScript中的逻辑判断符&&、||与!介绍

    这篇文章主要介绍了JavaScript中的逻辑判断符&&、||与!介绍,本文讲解了逻辑与&&的处理规则、逻辑或||的处理规则、!操作符,需要的朋友可以参考下
    2014-12-12

最新评论