var _IE = (function(){
var 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 : false ;
}());
javascript解读代码
while(--t,t){
};
var $a = t;
var t = 5;
var arr = [4,5,6,0,3,6]
while(--t,arr[t]){
}
var $a = arr[t];
, div = document.createElement('div')
, all = div.getElementsByTagName('i'); //获取 div 下的i的 集合(该集合在页面变化时候会 自己刷新)
//以下这几行是什么意思?
while (
//现在我们给div 添加一个 ie 专用的条件判断(类似于编译参数) 注意 (++v)
div.innerHTML = '<!--[if gt IE ' + (++v) + ']><i></i><![endif]-->'
,
all[0] //如果 上面的条件成功 那么div下面会增加 <i> 那么 all[0]返回非空 也就是那个添加的<i> 好吧 他的返回值变成while的判断条件
);
有点意思,如果未来条件注释取消,这样判断IE不妥吧