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条)

报告相同问题?

悬赏问题

  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 软件测试决策法疑问求解答
  • ¥15 win11 23H2删除推荐的项目,支持注册表等
  • ¥15 matlab 用yalmip搭建模型,cplex求解,线性化处理的方法
  • ¥15 qt6.6.3 基于百度云的语音识别 不会改
  • ¥15 关于#目标检测#的问题:大概就是类似后台自动检测某下架商品的库存,在他监测到该商品上架并且可以购买的瞬间点击立即购买下单
  • ¥15 神经网络怎么把隐含层变量融合到损失函数中?
  • ¥15 lingo18勾选global solver求解使用的算法
  • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行