Archive for 02月 23rd, 2010

javascript中要判断一个变量是否为array通常是比较困难的,因为

var a = [];
alert(typeof a === ‘object’); // true

通常的做法是判断

a.constructor === Array // true

可是这个方法有一个问题,如果一个数组是来自另一个frame中的,那么它的constructor 将是另一个对象。
YUI中用了如下的方法:

isArray: function(o) {
if (o) {
return L.isNumber(o.length) && L.isFunction(o.splice);
[...]

修正了几个BUG,已经在实际项目中使用,没有问题。

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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
Array.prototype.indexOf || (Array.prototype.indexOf = function(value) {
for (var i in this) {
if (this[i] == value) {
return i;
[...]


关于博主

姓名:郑玏

性别:男

职业:IT工程师

爱好:KTV、乒乓球、台球、五子棋、围棋、编程

语言:中文、英语、闽南语

Email:

  • miki77: 一直都是用您的漫画下载器!觉得非常非常好用!!!加油!!谢谢!!! [...]
  • hzui: 希望站点包快出啊,现在就等这个了。 [...]
  • K_mol: 啊 大神 问一下 以后哪里下站点包呢 [...]
  • vamshu: 非常感谢楼主,以前一直都用博主的软件来下载漫画. [...]
  • blueink: 年前一直没空下漫画,快三个月没看了,多谢博主 [...]