mu-utiljs
Version:
Web前端 JavaScript 常用函数库
146 lines (104 loc) • 3.29 kB
Markdown
# JavaScript 常用函数库
[](https://www.npmjs.com/package/mu-tooljs)
> JavaScript 常用函数库,整合在 Web 项目中经常使用的函数和方法。
#### 下载安装:
```shell
# 使用npm命令下载安装
$ npm i mu-utiljs
# 使用yarn命令下载安装
yarn add mu-utiljs
```
#### 使用方法:
- 通过 JS Module(模块)方式导入使用
```html
<!-- ES6模块导入使用 -->
<script type="module">
/**
* 1、全部引入使用
**/
import * as mu from "mu-utiljs";
// 在浏览器控制台中打印mu-utiljs的所有方法
console.log(mu);
// 深拷贝使用实例
let obj = { key: "value" };
const newObj = mu.deepCopy(obj);
/**
* 2、按需引入使用
**/
import { deepCopy, debounce, throttle } from "mu-utiljs";
// 深拷贝使用实例
let obj = { key: "value" };
const newObj = deepCopy(obj);
</script>
```
- 通过 script 标签以 CDN 的形式引入使用
```html
<!-- 将mu-utiljs下载后,在html文件中引入本地脚本 -->
<script src="./js/mu-utiljs"></script>
<script>
// 在浏览器控制台中打印mu-utiljs的所有方法
console.log(mu);
// 深拷贝使用实例
let obj = { key: "value" };
const newObj = mu.deepCopy(obj);
</script>
```
#### 支持情况:
- **deepCopy() 深拷贝**
> 对各种数据类型、对象的进行深度拷贝!
```js
/**
* @param {Object|Array} par // 拷贝的对象
* @returns Array or Object
*/
let par = {} || [];
mu.deepCopy(par); // 返回一个新的对象
```
- **debounce() 函数防抖**
> 函数被频繁调用时使用(触发事件后在 n 秒内函数只能执行一次,如果在 n 秒内又触发了事件,则会重新计算函数执行时间)!
```js
/**
* @param {function} fn // 要进行防抖操作的函数
* @param {number} delay = 300 // 间隔时间(默认300毫秒)
* @returns function
*/
mu.debounce(fn, delay);
```
- **throttle() 函数节流**
> 连续触发事件但是在 n 秒中只执行一次函数!
```js
/**
* @param {function} fn // 要进行节流操作的函数
* @param {number} delay = 300 // 间隔时间(默认300毫秒)
* @returns function
*/
mu.throttle(fn, delay);
```
- **getFileExt() 获取文件后缀名**
> 获取文件的后缀名!
```js
/**
* @param {string} fileName // 要获取带后缀的文件名
* @returns string
*/
mu.getFileExt(fileName: string) => string;
```
- **getFileSize() 获取文件大小**
> 主要用于上传文件时(计算文件 单位大小)!
```js
/**
* @param {string} fileSize // 要进行计算的文件大小
* @returns string
*/
mu.getFileSize(fileName: string) => string;
```
- **query() 获取url参数**
> 主要用于获取url参数 如 ?id=666&uid=888!
```js
/**
* @param {string} key // 要进行计算的文件大小
* @returns string
*/
mu.query(key: string) => string;
```
- Updating 。。。!