您的位置:首页 > Web前端 > JavaScript

JavaScript中获取未知对象属性的代码

2011-04-27 00:00 726 查看
这两天尝试写个AjaxToolkit:AsyncFileUpload的Demo, 它有个OnClientUploadComplete属性可以关联客户端JS, 于是可以写OnClientUploadComplete="uploadComplete", 然后定义uploadComplete方法:
function uploadComplete(sender, e) { 
//Do something here... 
}

但是, 怎么从e获得上传文件的信息呢? 除了看AjaxControlToolkit的源代码, 还可以用JS:
function uploadComplete(sender, e) { 
var ret = "Properties:\n"; 
for (var prop in e) { 
var val = e[prop]; 
if (typeof (val) === "function") { 
ret += (prop + "()"); 
} 
else { 
ret += prop + ": " + val; 
} 
ret += ";\n"; 
} 
alert(ret); 
}


结果:


这样就很明白了.

这里是用了JS里"关联数组"的概念, JS对象的属性(包括方法, 也可认为是属性)是存放到它的关联数组里面的, 通过for...in...就可以遍历到.

关于关联数组, 我们可以这么用:
var dog = new Object(); 
dog.id = 1; 
dog["name"] = "Gougou"; 
alert("id: " + dog["id"] + ", name" + dog.name);

得到: "id: 1, name: Gougou"

本文系原创,转载请注明:来自 Freeway ―― cnBlogs
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: