OPPPPOP 2009-09-01 08:22
浏览 158
已采纳

详细注解这段JS

刚在论坛上看了一个帖子 其中这段JS是在令我费解 注解下每句 ps(用汉字)
[code="java"]function createSelect(c){

var _inner = {

"nation" : ['汉族','蒙古族','彝族','侗族','哈萨克族',

'畲族','纳西族','仫佬族','仡佬族','怒族','保安族',

'鄂伦春族','回族','壮族','瑶族','傣族','高山族',

'景颇族','羌族','锡伯族','乌孜别克族','裕固族','赫哲族',

'藏族','布依族','白族','黎族','拉祜族','柯尔克孜族','布朗族',

'阿昌族','俄罗斯族','京族','门巴族','维吾尔族','朝鲜族',

'土家族','傈僳族','水族','土族','撒拉族','普米族','鄂温克族',

'塔塔尔族','珞巴族','苗族','满族','哈尼族','佤族','东乡族',

'达斡尔族','毛南族','塔吉克族','德昂族','独龙族','基诺族'],

"shengxiao" : ['鼠','牛','虎','兔','蛇','蛇','马','羊','猴','鸡','狗','猪'],

"degree" : ['小学','初中','高中','中专','大专','本科','硕士','博士']

}

var _array = c["array"] || _inner[c["type"]];

var _select = document.createElement("select");

for(var i=0; i < _array.length; i++){

_select.options[i] = new Option(_array[i], _array[i]);

_array[i] == c["selected"] && (_select.options[i].selected = true);

}

c["id"] && (_select.id = c["id"]);

c["name"] && (_select.name = c["name"]);

c["onchange"] && (_select.onchange = c["onchange"]);

return _select;

} [/code]

  • 写回答

2条回答 默认 最新

  • playfish05 2009-09-01 08:33
    关注

    var _inner = {

    //定义可选择项的数组

    "nation" : ['汉族','蒙古族','彝族','侗族','哈萨克族',

    '畲族','纳西族','仫佬族','仡佬族','怒族','保安族',

    '鄂伦春族','回族','壮族','瑶族','傣族','高山族',

    '景颇族','羌族','锡伯族','乌孜别克族','裕固族','赫哲族',

    '藏族','布依族','白族','黎族','拉祜族','柯尔克孜族','布朗族',

    '阿昌族','俄罗斯族','京族','门巴族','维吾尔族','朝鲜族',

    '土家族','傈僳族','水族','土族','撒拉族','普米族','鄂温克族',

    '塔塔尔族','珞巴族','苗族','满族','哈尼族','佤族','东乡族',

    '达斡尔族','毛南族','塔吉克族','德昂族','独龙族','基诺族'],

    "shengxiao" : ['鼠','牛','虎','兔','蛇','蛇','马','羊','猴','鸡','狗','猪'],

    "degree" : ['小学','初中','高中','中专','大专','本科','硕士','博士']

    }

    //生成选择项的数组,即下拉框的option,这个数组可以是自己传递进来的参数,定义在c['array']里面的。如果没有定义array,那么就用上面自带的3个数组,那传递进来的那个c那个参数,就需要指定type,比如说nation,或者shengxiao

    var _array = c["array"] || _inner[c["type"]];

    //生成一个下拉框

    var _select = document.createElement("select");

    //将数组的元素全部添加到下拉框中

    for(var i=0; i < _array.length; i++){

    _select.options[i] = new Option(_array[i], _array[i]);

    //判断默认选中的下拉菜单

    _array[i] == c["selected"] && (_select.options[i].selected = true);

    }

    //以下写法都相同,&&运算符,比如 1 && 2,如果1为false,那么整条语句直接返回false,2不会被执行,如果1为true,那么就会继续执行2.这条语句相当于if(c['id']){
    _select.id = c["id"];
    },即先判断一下c['id']是否存在。

    c["id"] && (_select.id = c["id"]);

    c["name"] && (_select.name = c["name"]);

    c["onchange"] && (_select.onchange = c["onchange"]);

    return _select;

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题