7-6的编程问题,不懂为什么最后是new Option(name[i])这个直接填i怎么不行呢?

7-6的编程问题,不懂为什么最后是new Option(name[i])这个直接填i怎么不行呢?

function address(){
    /*请在此补充代码*/
    var sf=document.getElementById("sf");
    var sq=document.getElementById("sq");
    var arrsf=["北京市","天津市","河北省","河南省"];
    var arrsq=["朝阳区","西城区","石家庄","邯郸市","西青区","武清区","郑州市","开封市"];
    selectAdd(sf,arrsf,arrsf);
    selectAdd(sq,arrsq,arrsf);
}
function selectAdd(obj,name,value){
	/*请在此补充代码*/  
	for(var i in name){
	    obj.options.add(new Option(name[i]));
	}
}


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕酷酷 2020-01-09 10:13:29

同学你好,这里同学首先创建的arrsf,arrsq数组,然后调用selectAdd()方法,将省份和市区数组进行了传递,selectAdd()方法的name参数进行接收,所以说name是一个数组哦~

具体如下:

http://img1.sycdn.imooc.com//climg/5e168b8a09a6e98007550374.jpg

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

好帮手慕酷酷 2020-01-09 10:05:09

同学你好,因为这里name表示添加的条目数组,而使用for in循环遍历数组,在js中,for in循环遍历数组时,括号里前面定义的var i变量,表示数组的下标索引值。所以要使用name[i],表示获取数组中的一条具体的条目。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 提问者 怀夢 #1
    但是之前并没有定义name这个数组啊……只是定义了省份,市区的数组啊,这个name[i]是怎么调用的呢
    2020-01-09 10:08:27
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师