这篇文章主要介绍了一个奇葩的最短的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

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

最新资讯
德国英飞凌否认暂停向华为供货

德国英飞凌否认暂停向

德国半导体制造企业英飞凌21日对新华社记者表示,将继续
中国经济的韧性|华为:三十功名 向死而生

中国经济的韧性|华为:三

他们往往不会站在前台锋芒毕露,成为媒体的宠儿、谈论自
小度智能音箱出货量中国第一 负责人晋升百度副总裁

小度智能音箱出货量中

小度智能音箱出货量升至中国第一,负责人景鲲晋升百度副
美团王慧文谈那些年踩过的“坑”

美团王慧文谈那些年踩

王慧文表示,“消费互联网跟产业互联网之间的融合”就像
NASA公布最新登月计划:2028年开建月球基地

NASA公布最新登月计划

近日,NASA更新了代号“阿尔忒弥斯”的登月计划细节。在
一图看全任正非受访:华为已准备好 不会出现极端情况

一图看全任正非受访:

任正非今日在华为总部接受了新浪科技等媒体的专访,对近
最新文章
JavaScript解析及序列化JSON的方法实例分析

JavaScript解析及序列

这篇文章主要介绍了JavaScript解析及序列化JSON的方法
如何为vuex实现带参数的 getter和state.commit

如何为vuex实现带参数

这篇文章主要介绍了如何为vuex实现带参数的getter和st
使用VUE+iView+.Net Core上传图片的方法示例

使用VUE+iView+.Net C

这篇文章主要介绍了使用VUE+iView+.Net Core上传图片
JS实现的获取银行卡号归属地及银行卡类型操作示例

JS实现的获取银行卡号

这篇文章主要介绍了JS实现的获取银行卡号归属地及银行
Angular6 用户自定义标签开发的实现方法

Angular6 用户自定义

这篇文章主要介绍了Angular6 用户自定义标签开发的实
React 实现拖拽功能的示例代码

React 实现拖拽功能的

这篇文章主要介绍了React 实现拖拽功能的示例代码,小编