我正在尝试使用用户定义的函数 function func (obj/*, args/) {...} 解析 json 对象,该函数采用 splat 参数。我被这段代码困住了。
function func (obj /*, *args*/) {
pobj= JSON.parse(obj)
var star_args = Array.prototype.slice.call (arguments, func.length);
alert(pobj.name);
//outputs name Tintin
for (i=0;i<star_args.length;i++){
alert(pobj.star_args[i]);
}
}
var json = '{"name":"Tintin","addr":"Kausaltar"}'
//function call with a json object
func(json,'name','addr');
输出是 --> 弹出丁丁提醒 随后出现错误
/*
Exception: pobj.star_args is undefined
func@Scratchpad/1:10
@Scratchpad/1:18
*/
所以,我的问题是如何使用
访问这个 json 对象元素pobj.star_args[i]
我知道 Javascript 解析器是从左到右开始的,所以它会令人兴奋。
请大家帮忙!! 。我在便签本中测试了代码。
最佳答案
尝试换行
alert(pobj.star_args[i]);
至
alert(star_args[i]);
说明:star_args
是一个局部变量;它不是 pobj
对象的一部分。所以直接引用就可以了。
关于javascript - 如何使用 javascript 中采用 splat 参数的函数解析 json 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19673729/