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":{"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;
//就可以,请问是怎么回事?
而且楼主需要弄清楚局部变量和全局变量的关系。函数内部的定义的叫局部变量。
看到楼主目前的代码,希望楼主多看看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>
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;
}//这样就是不行,奇怪了
function get(sf) {
return cities = data[sf].citys;
}
sd,sc相当于行号,严格来说,里面的参数应该是从0开始的,即
cities=data[0].citys;
cities=data[1].citys;