/*
* 生成指定范围的随机整数
* @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

自己封装的tools.js文件的更多相关文章

  1. 小程序请求接口统一封装到一个js文件中

    在我们做小程序时,数据请求数据请求是避免不了的,然而我们用官方自带的请求方式,会给我们带来很多重复的工作,所以我就借鉴大神们的博客,写了一个简单的请求方式. 1.首先我们在utils中新建一个api. ...

  2. js封装,一个JS文件引用多个JS文件

    (function() { //加载   varobj =  {};   /**    * 动态加载脚本函数    * @param url 要加载的脚本路径    * @param callback ...

  3. JS高级---案例贪吃蛇,把封装的函数移动到js文件中

    案例贪吃蛇,把封装的函数移动到js文件中 <!DOCTYPE html> <html lang="en"> <head> <meta ch ...

  4. Node.js 文件上传 cli tools

    Node.js 文件上传 cli tools byte stream 断点续传 refs xgqfrms 2012-2020 www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!

  5. vue cli3.0 封装组件全局引入js文件并发布到npm

    首先用 vue create创建一个项目 当前的项目目录是这样的: 首先需要创建一个 packages 目录,用来存放组件 然后将 src 目录改为 examples 用作示例 二.修改配置 启动项目 ...

  6. vue-cli3 将自己写的组件封装成可引入的js文件

    一.调整项目结构 首先用 vue-cli 创建一个 default 项目 // 顺便安利一篇文章<Vue 爬坑之路(十二)—— vue-cli 3.x 搭建项目> 当前的项目目录是这样的: ...

  7. JS组件系列——封装自己的JS组件,你也可以

    前言:之前分享了那么多bootstrap组件的使用经验,这篇博主打算研究下JS组件的扩展和封装,我们来感受下JQuery为我们提供$.Extend的神奇,看看我们怎么自定义自己的组件,比如我们想扩展一 ...

  8. JS组件系列——封装自己的JS组件

    前言:之前分享了那么多bootstrap组件的使用经验,这篇博主打算研究下JS组件的扩展和封装,我们来感受下JQuery为我们提供$.Extend的神奇,看看我们怎么自定义自己的组件,比如我们想扩展一 ...

  9. html或者jsp页面引用jar包中的js文件

    一,页面上引用jar包中的js文件的方法 使用java web框架AppFuse的时候发现,jquery.bootstrap等js框架都封装到jar包里面了.这些js文件通过一个wro4j的工具对其进 ...

随机推荐

  1. 安装mysql ndb cluster二进制版本在linux上

    Installing an NDB Cluster Binary Release on Linux (官方安装手册)手册地址:https://dev.mysql.com/doc/refman/5.7/ ...

  2. 学习HTML第二天

    今日内容: HTML标签:表单标签 CSS HTML标签:表单标签 表单项标签: input:可以通过type属性值,改变元素展示的样式 type属性: text:文本输入框,默认值 placehol ...

  3. 4.Docker容器学习之Dockerfile入门到放弃

    原文地址: 点击直达 0x01 Dockerfile 编写 描述:Dockerfile是一个文本格式的配置文件,其内包含了一条条的指令(Instruction),每一条指令构建一层,因此每一条指令的内 ...

  4. NodeJS学习日报day4——模块化

    // console.log(module); // 执行顺序不同,结果也不同 // module.exports = { // name : 'Cra2iTeT', // hi() { // con ...

  5. ArcGIS使用技巧(二)——数据恢复

    新手,若有错误还请指正! ArcGIS工程文件中图层的数据源位置移动之后,会显示红叹号(图1),需要进行数据恢复,就体现出之前所说的勾选"Store relative pathnames t ...

  6. 『现学现忘』Git基础 — 8、Git创建本地版本库

    目录 1.Git版本库介绍 2.创建本地版本库 场景一:创建一个空的本地版本库. 场景二:项目中已存在文件时,创建该项目的本地版本库. 场景三:在GitHub网站上创建仓库,克隆到本地. 1.Git版 ...

  7. 认识python-个人笔记篇

    认识python 1 .python 的发展历史 一种广泛使用的解释型.高级编程.通用型编程语言,由"龟叔"吉多·范罗苏姆创造,第一版发布于1991年. Python的设计哲学强调 ...

  8. 【Azure Developer】使用 CURL 获取 Key Vault 中 Secrets 中的值

    问题描述 在使用CURL通过REST API获取Azure Key Vaualt的Secrets值,提示Missing Token, 问如何来生成正确的Token呢? # curl 命令 curl - ...

  9. jdk1.8中hashmap的扩容resize

    当hashmap第一次插入元素.元素个数达到容量阀值threshold时,都会扩容resize(),源码: (假设hashmap扩容前的node数组为旧横向node数组,扩容后的node数组为新横向n ...

  10. python数据处理matplotlib入门(2)-利用随机函数生成变化图形

    综合前述的类.函数.matplotlib等,完成一个随机移动的过程(注意要确定移动的次数,比如10万次),每次行走都完全是随机的,没有明确的方向,结果是由一系列随机决策确定的,最后显示出每次移动的位置 ...