谁能帮我解释一下这段javascript代码

varHash={pair:function(){if(arguments.length%2!=0){_throw('Hash.pair:expectinganevenn... var Hash = {
pair: function() {
if (arguments.length % 2 != 0) {
_throw('Hash.pair: expecting an even number of arguments');
}
var obj = {};
for (var i = 0; i < arguments.length; i += 2) {
var key = arguments[i];
var val = arguments[i + 1];
obj[key] = val;
}
return obj;
},
drop: function(obj, key) {
delete obj[key];
},
drop_fully: function(obj, key) {
if (bt.ie) {
var copy = {};
for (var temp in obj) {
if (key != temp) copy[temp] = obj[temp];
}
return copy;
} else {
delete obj[key];
return obj;
}
},
size: function(obj) {
var size = 0;
for (var key in obj) {
if (obj[key] != null) size++;
}
return size;
},
keys: function(obj) {
var keys = [];
for (var key in obj) {
keys.push(key);
}
return keys;
},
values: function(obj) {
var vals = [];
for (var key in obj) {
vals.push(obj[key]);
}
return vals;
},
num_keys: function(obj) {
var keys = [];
for (var key in obj) {
keys.push(parseInt(key));
}
return keys;
},
copy: function(obj) {
var copy = {};
for (var key in obj) {
copy[key] = obj[key];
}
return copy;
},
getn: function(obj, keys) {
if (obj == null) {
return null;
}
if (keys == '') {
return [];
}
keys = keys.split(' ');
var vals = [];
for (var i = 0; i < keys.length; i++) {
var key = keys[i];
var val = obj[key];
vals.push(val);
}
return vals;
}
};

主要是语法看不法
展开
 我来答
溜须拍马关云长
2009-01-14 · TA获得超过1708个赞
知道大有可为答主
回答量:2443
采纳率:0%
帮助的人:0
展开全部
var Hash = {
pair: function() {
...

这个是JSON的方式,相当于

var Hash = {
pair=function() {
...

pair是Hash里的一个方法,其它drop: function/keys: function等也类似的
调用的时候的形式和普通的函数差不多:

Hash.pair();
304009100
2009-01-14 · TA获得超过128个赞
知道小有建树答主
回答量:125
采纳率:0%
帮助的人:121万
展开全部
这是javascript中定义对象的方法之一,基本形式是
var a={x:1,y:2};这句定义了一个a对象,他有两个属性x和y,值分别为1和2,当然除了定义属性还可以定义方法了,也就是函数,相邻属性或方法间要用逗号分开哦
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式