javascript中关于数组的问题

在百度的开源js框架tangram中有这样一个函数:

/** * 将两个数组参数合并成一个类似hashMap结构的对象,这个对象使用第一个数组做为key,使用第二个数组做为值,如果第二个参数未指定,则把对象的所有值置为true。 

* @name baidu.array.hash 

* @function

 * @grammar baidu.array.hash(keys[, values])

 * @param {Array} keys 作为key的数组 

* @param {Array} [values] 作为value的数组,未指定此参数时,默认值将对象的值都设为true。 *            

  * @returns {Object} 合并后的对象{key : value} 

*/

baidu.array.hash = function(keys, values) {   

 var o = {}, vl = values && values.length, i = 0, l = keys.length;  

  for (; i < l; i++) {      

  o[keys[i]] = (vl && vl > i) ? values[i] : true;  

  }    

return o;

};

其中 "vl = values && values.length"这句的主要作用是什么,我一直没搞懂,向各位大虾赐教!

HUH函数
浏览 469回答 2
2回答

慕村9548890

就是为了防止values是null或undefined的时候报错的
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript