自己封装的tools.js文件

2022-04-18 20:56:53 浏览数 (1)

代码语言:javascript复制
/*
 * 生成指定范围的随机整数
 * @param lower 下限
 * @param upper 上限
 * @return 返回指定范围的随机整数,上/下限值均可取
 */
function random(lower, upper) {
  return Math.floor(Math.random() * (upper - lower))   lower;
}
 
/*
 * 生成rgb随机颜色值
 * @return 返回生成的rgb字符串:"rgb(33,44,55)"
 */
function randomColor() {
  // 随机生成 rgb 十进制值
  var r = random(0, 255),
    g = random(0, 255),
    b = random(0, 255);
  // 串联字符串,并返回
  return "rgb("   r   ","   g   ","   b   ")";
}
/*
 * 将 URL 中查询字符串转换为对象
 * @param ul 待转换的URL字符串
 */
function parseQueryString(url) {
  // 获取 ? 与 # 的索引
  var start = url.indexOf("?"),
    end = url.indexOf("#");
 
  // 判断是否有 ?
  if (start === -1)
    // 不存在,则返回 null
    return null;
  // 存在 ?,则起始索引从?后一位置开始
  start  = 1;
 
  // 判断是否有 #
  if (end === -1)
    // 不存在,则截取到字符串末尾
    end = url.length;
 
  // 获取查询字符串
  var queryString = url.slice(start, end);
 
  // 使用 & 符号将查询字符串分割
  queryString = queryString.split("&");
  var result = {}; // 保存解析后的对象
  // 遍历迭代数组中每个元素
  for (var i = 0, len = queryString.length; i < len; i  ) {
    // 将当前数组中遍历到的 "key=value" 以 = 分割
    var parts = queryString[i].split("=");
    result[parts.shift()] = parts.shift();
  }
  // 将解析报的对象返回
  return result;
}
/*
 * 将对象转换为查询字符串
 * @param obj 对象
 * @return 查询字符串 key=value&key=value&key=value
 */
function toQueryString(obj) {
  // 定义变量保存转换结果
  var result = [];
  // 遍历迭代对象各属性
  for (var attr in obj) {
    result.push(attr   "="   obj[attr]);
  }
  // 返回连接后的查询字符串
  return result.join("&");
}
/*
 * 格式化日期时间:yyyy-MM-dd HH:mm:ss
 * @param datetime 待格式化日期时间对象
 * @return 格式化后的字符串:yyyy-MM-dd HH:mm:ss
 */
function format(datetime) {
  var year = datetime.getFullYear(),
    month = ("0"   (datetime.getMonth()   1)).slice(-2),
    date = ("0"   datetime.getDate()).slice(-2),
    hour = ("0"   datetime.getHours()).slice(-2),
    min = ("0"   datetime.getMinutes()).slice(-2),
    sec = ("0"   datetime.getSeconds()).slice(-2);
  return year   "-"   month   "-"   date   " "   hour   ":"   min   ":"   sec;
}

更多内容请见原文,文章转载自:https://blog.csdn.net/weixin_44519496/article/details/118599400

0 人点赞