我正在尝试使用带有 splat 参数的用户定义函数 function func (obj /*, args /) {...} 解析 json 对象。我被这段代码困住了。
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');
输出是 --> 带有 Tintin 的警报弹出窗口,后跟错误
/*
Exception: pobj.star_args is undefined
func@Scratchpad/1:10
@Scratchpad/1:18
*/
所以,我的问题是如何访问这个 json 对象元素
pobj.star_args[i]
我知道 Javascript 解析器是从左到右开始的,所以它会引发一个 exveption。
请任何人,帮助!. 我在便笺簿中测试了代码。