/*
* 生成指定范围的随机整数
* @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. java数组算法——数组元素的赋值2

    java数组算法--数组元素的赋值2--java经典面试题:创建一个长度为6的int型数组,要求数组元素的值都在1-30之间,且是随机赋值.同时要求元素时的值各不相同

  2. ionic系列教程 2 ---- 安装

    开发平台注意点首先,我们需要注意构建Ionic App需要的最低配置:Ionic只支持iOS6 +和Android 4.0 + ,(虽然2.3可以工作,但会有点卡).但是,Android设备众多,可能 ...

  3. Java语言学习day13--7月14日

    今日内容介绍1.循环练习2.数组方法练习 ###01奇数求和练习 * A: 奇数求和练习 * a: 题目分析 * 为了记录累加和的值,我们需要定义一个存储累加和的变量 * 我们要获取到1-100范围内 ...

  4. Vim 中进行文本替换

    Vim 中进行文本替换 格式 用法 :[range]s/from/to/[flags] tips: [] 表示该内容可选 参数 from 需要替换的字符串(可以是正则表达式) to 替换后的字符串 r ...

  5. EmlParse:一款超轻量级的批量解析EML格式电子邮件的工具

    工具特点 1.绿色纯天然,无任何依赖库,文件大小不到150K: 2.可批量解析EML格式的电子邮件: 3.可提取EML文件中的正文和附件到指定目录: 4.可生成HTML格式的邮件列表清单,方便用户进行 ...

  6. jQuery与JavaScript与Ajax三者的区别与联系

    简单总结: 1.JS是一门 前端语言. 2.Ajax是一门 技术,它提供了异步更新的机制,使用客户端与服务器间交换数据而非整个页面文档,实现页面的局部更新. 3.jQuery是一个 框架,它对JS进行 ...

  7. C#自定义配置文件(一)

    C#自定义配置文件 .NET程序中,经常使用Config文件来配置应用程序中经常使用的值,比如数据库连接字符串.最近项目遇到一个需要配置好多节点在配置文件中的需求.为了使配置节点整洁易维护,在代码调用 ...

  8. CentOS 8 重启不能DHCP获取IP的解决方法

    一个执着于技术的公众号 今天遇到一个神奇的现象,我对CentOS 8系统做初始化之后再重启系统,发现系统不能通过NetworkManager获取DHCP IP了 查了系统日志发现是: Apr 30 0 ...

  9. 手脱无名壳tslgame_rl

    1.使用Detect It Easy查壳,该壳未显示出壳信息,至于为何有壳,我们使用IDA打开,查看其的导入表,其中没有太多函数使用: 2.我们使用x32dbg打开,运行至入口点,此处没有pushad ...

  10. 用 Python 远程控制 Windows 服务器,太好用了!

    在很多企业会使用闲置的 Windows 机器作为临时服务器,有时候我们想远程调用里面的程序或查看日志文件 Windows 内置的服务「 winrm 」可以满足我们的需求 它是一种基于标准简单对象访问协 ...