最短的 IE 版本判断

网上看到的一段很酷的代码,留着备用。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
// ----------------------------------------------------------
// 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 = '',
all[0]
);
return v > 4 ? v : undef;
}());

JSDoc描述

@param @argument 指定参数名和说明来描述一个函数参数

@returns 描述函数的返回值

@author 指示代码的作者

@deprecated 指示一个函数已经废弃,而且在将来的代码版本中将彻底删除。要避免使用这段代码

@see 创建一个HTML链接,指向指定类的描述

@version 指定发布版本

@requires 创建一个HTML链接,指向这个类所需的指定类

@throws @exception 描述函数可能抛出的异常的类型

{@link} 创建一个HTML链接,指向指定的类。这与@see很类似,但{@link}能嵌在注释文本中

@fileoverview 这是一个特殊的标记。如果在文件的第一个文档块中使用这个标记,则指定该文档块的余下部分将用来提供这个文件的概述

@class 提供类的有关信息,用在构造函数的文档中

@constructor 明确一个函数是某个类的构造函数

@type 指定函数的返回类型

@extends 指示一个类派生了另一个类。JSDoc通常自己就可以检测出这种信息,不过,在某些情况下则必须使用这个标记

@private 指示一个类或函数是私有的。私有类和函数不会出现在HTML文档中,除非运行JSDoc时提供了—private命令行选项

@final 指示一个值是常量值。要记住JavaScript无法真正保证一个值是常量

@ignore JSDoc忽略有这个标记的函数

JS实现倒计时的一种方法

最近因为需要试着用Javascript写了一个带毫秒倒计时的小程序,代码如下:

1
<span class="min"></span>:<span class="sec"></span>.<span class="millisec"></span>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
var inter;
var countdown = function(min) {
var date = new Date();
var endTime = date.getTime() + parseInt(min) * 60 * 1000;
var $min = $('.min');
clearInterval(inter);
inter = setInterval(function() {
var st = new Date();
var startTime = st.getTime();
var leftTime = Math.floor((endTime - startTime) / 100);
if (leftTime <= 0) {
clearInterval(inter);
inter = null;
$.each($min, function(i, t) {
$(t).text('0').next().text('0').next().text('0');
});
return;
}
$.each($min, function(i, t) {
$(t).text(Math.floor(leftTime / 600)).next().text(Math.floor(leftTime / 10) % 60).next().text(leftTime % 10);
});
}, 100);
};

使用countdown(1)可实现一分钟的倒计时.