请教各位几个js问题

来源:百度知道 编辑:UC知道 时间:2024/06/03 15:25:45
最近在网络上下了一些JS,有类似于以下地方搞不太清楚,比如
function xx(c){
var a = {
'school':['清华','北大','复旦'],
'edu':['小学','初中','高中','大学'],
};
var _array = c['array'] || a[c['type']];
var _select = document.createElement('select');
c['id'] && (_select.id = c['id']);
}

此方法大概是生成<select>标签
PS:不完整的方法

我想要知道的是:
var _array = c['array'] || a[c['type']];
c['id'] && (_select.id = c['id']);

这2句分别代表什么含义?望高人赐教,谢谢

function xx(c){
var a = {
'school':['清华','北大','复旦'],
'edu':['小学','初中','高中','大学'],
};
var _array = c['array'] || a[c['type']];
var _select = document.createElement('select');
c['id'] && (_select.id = c['id']);
}

这个js方法接受一个数组参数c,在这个方法下定义默认的对象(或成为数组)a,
var _array = c['array'] || a[c['type']];
这句意思是判断接受的数组参数c下是否存在c['array'](我猜c['array']也是一个数组,也就是说方法接受的参数c本身就是个二维数组),如果存在,将参数c['array']的值赋给_array,如果不存在,将c['type']对应a的数组赋给_array.

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

这句很简单,就是js动态创建select对象.并将对象赋给_select.

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

这句意思 判断 c['id']是否为真(即便传来的c['id']等于0也是不执行该句的),如果为真,便将_select的id设为c['id'].

这个函数执行到此,在网页中也就只