有个问题 关于eval

atmo 2010-12-29 02:04:45
有一json串 访问的时候是 alert(a.b.c) a b 都是对象 c是属性

通过传递参数进来 我想访问a.b1.c a.b2.c a.b3.c该如何?

function q(n) n是可变参数
{
alert(a.eval(b+n).c)?
}
...全文
101 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Mr-Jee 2010-12-29
  • 打赏
  • 举报
回复
你只要看了eval的用法就可以了。其他的没什么~~
atmo 2010-12-29
  • 打赏
  • 举报
回复
真的不懂
冬雨在路上 2010-12-29
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 cj205 的回复:]
JScript code
var str = "{'a':'test','b':'testb','c':'testc'}";
(function(s) {
var t = eval("("+s+")");
alert(t.a);
})(str);
[/Quote]
没看懂哦
Mr-Jee 2010-12-29
  • 打赏
  • 举报
回复
		var str = "{'a':'test','b':'testb','c':'testc'}";
(function(s) {
var t = eval("("+s+")");
alert(t.a);
})(str);
atmo 2010-12-29
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 cvpc 的回复:]
alert(a["b" + n]["c"]);
[/Quote]

这是个什么意思?
cvpc 2010-12-29
  • 打赏
  • 举报
回复
alert(a["b" + n]["c"]);
xiangwendong 2010-12-29
  • 打赏
  • 举报
回复
cj205非常的对
flyerwing 2010-12-29
  • 打赏
  • 举报
回复
eval相当于反射
foolbirdflyfirst 2010-12-29
  • 打赏
  • 举报
回复
#1正解

var a = {};

a.b = 1;//这种方式。a对象的属性b的命名规则必须是js变量的命名规则
a["b##@AD"] = 2;//这种方式,属性的命名规则任意,如果非js变量命名规则,只能通过a['...']这样去访问

alert(a.b); //1

alert(a['b']); //1

alert(a['b##@AD']); //2

//alert(a.b##@AD) //语法错误


以上是两种对象属性访问方式

87,920

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧