变量传递参数的问题

ahking 2013-10-29 05:49:39


var data={
"sd":{"citys":[{ "cityID": "jn", "cityName": "济南"},{ "cityID": "ly", "cityName": "临沂"}]},
"sc":{"citys":[{ "cityID": "cd", "cityName": "成都"},{ "cityID": "pzh", "cityName": "攀枝花"}]}

var cities;
function get(sf)
{
cities=data[sf].citys;
}
get('sd');
//这样无法获取对应的数据
//而用
cities=data['sd'].citys;
//就可以,请问是怎么回事?


...全文
157 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
极限战略 2013-10-30
  • 打赏
  • 举报
回复
确实很蛋疼 alert length 显示 有 2个 但是alert 本身有问题了。。。
zhjdg 2013-10-29
  • 打赏
  • 举报
回复
看错了,原来你是用全局变量的。 原因是少了个}
Andy__Huang 2013-10-29
  • 打赏
  • 举报
回复
引用 楼主 ahking 的回复:

var data={
				"sd":{"citys":[{ "cityID": "jn", "cityName": "济南"},{ "cityID": "ly", "cityName": "临沂"}]},
				"sc":{"citys":[{ "cityID": "cd", "cityName": "成都"},{ "cityID": "pzh", "cityName": "攀枝花"}]}

var cities;
function get(sf)
{
 cities=data[sf].citys;
}
get('sd');
//这样无法获取对应的数据
//而用
cities=data['sd'].citys;
//就可以,请问是怎么回事?

sd,sc相当于行号,严格来说,里面的参数应该是从0开始的,即 cities=data[0].citys; cities=data[1].citys;
zhjdg 2013-10-29
  • 打赏
  • 举报
回复
原因是你没返回值。 function get(sf) { return cities = data[sf].citys; }
  • 打赏
  • 举报
回复
额,你data最后]}标签没闭合}]}};
ahking 2013-10-29
  • 打赏
  • 举报
回复



function get(sf)
{
var data={
				"sd":{"citys":[{ "cityID": "jn", "cityName": "济南"},{ "cityID": "ly", "cityName": "临沂"}]},
				"sc":{"citys":[{ "cityID": "cd", "cityName": "成都"},{ "cityID": "pzh", "cityName": "攀枝花"}]}

 cities=data[sf].citys;
}

//这样就是不行,奇怪了
  • 打赏
  • 举报
回复
楼主至少要把对象给传进去啊,要不谁知道你sf是谁的sf啊。 而且楼主需要弄清楚局部变量和全局变量的关系。函数内部的定义的叫局部变量。 看到楼主目前的代码,希望楼主多看看js变量和函数两个章节


<script type="text/javascript">
var data={
				"sd":{"citys":[{ "cityID": "jn", "cityName": "济南"},{ "cityID": "ly", "cityName": "临沂"}]},
				"sc":{"citys":[{ "cityID": "cd", "cityName": "成都"},{ "cityID": "pzh", "cityName": "攀枝花"}]}};

var cities;
function get(sf,data){
 var cities=data[sf].citys;
 return cities;
}
alert(get('sd',data));
//这样无法获取对应的数据
//而用
cities=data['sd'].citys;
//就可以,请问是怎么回事?
</script>

87,991

社区成员

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

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