# js-plus
**Repository Path**: wzh656/js-plus
## Basic Information
- **Project Name**: js-plus
- **Description**: 一个js的拓展库,根据实践经验在原生js的基础上添加、重写了一些函数,并借鉴了一些其他语言的函数,使得编程更加便捷
- **Primary Language**: JavaScript
- **License**: MIT
- **Default Branch**: main
- **Homepage**: https://github.com/wzh656/js-plus/
- **GVP Project**: No
## Statistics
- **Stars**: 3
- **Forks**: 0
- **Created**: 2021-06-08
- **Last Updated**: 2024-01-14
## Categories & Tags
**Categories**: Uncategorized
**Tags**: JavaScript, plugin
## README
# js+ (js-plus)
js+ 是一个js的拓展库,根据实践经验在原生js的基础上添加、重写了一些函数,并借鉴了一些其他语言的函数,使得编程更加便捷。(部分函数改编自网络)
## 运行(Run)
> 建议先clone至本地再引用
+ script标签引用:
```html
```
+ node.js require
```javascript
require("./js-plus/src/js_plus");
```
## 函数列表(Functions)
> 本文档中尖括号(<>)内表示参数或返回值类型
> Tip: 代表任意类型, 代表数字类型的数组
+ 字符串(String)
+ ` String.prototype.padStart(targetLength, padString)`
字符串前补位(ES6+)
+ ` String.prototype.padEnd(targetLength, padString)`
字符串后补位(ES6+)
+ ` String.random(len, prevent=[])`
随机字符串:生成不包含`prevent`(通常是已生成的随机字符串)的长度为`len`的随机字符串
+ 数(Number)
+ ` Number.prototype.padding(start, end)`
小数点前后补位:补全至小数点前`start`位,后`end`位
+ 数学(Math)
+ ` Math.floor(num=0, accuracy)`
函数重写:将`num`向下取整到`10^(-accuracy)`精度
+ ` Math.round(num=0, accuracy)`
函数重写:将`num`四舍五入到`10^(-accuracy)`精度
+ ` Math.ceil(num=0, accuracy)`
函数重写:将`num`向上取整到`10^(-accuracy)`精度
+ ` Math.random(start=1, end, step)`
函数重写:生成范围在`[start, end)`内,步长为`10^(-step)`的随机数
+ ` Math.randomError(range=0.1, center=0)`
随机误差:生成范围在`center-range`到`center+range`内的随机数
+ ` Math.randomND(mean=0, stdev=1)`
随机取样:生成均值为`mean`,标准差为`stdev`的随机正态取样
+ ` Math.limitRange(num, min, max, step)`
范围限制:将`num`限制在`[min, max)`内,步长为`10^(-step)`(大于取`max`,小于取`min`)
+ ` Math.modRange(num, min, max, step)`
取余范围限制:将`num`限制在`[min, max)`内,步长为`10^(-step)`(大于则减,小于则加,直至在范围内)
+ ` Math.sum(...num)`
求和:将输入参数相加(自动除去`NaN`)
+ ` Math.avg(...num)`
求平均值:将输入参数相加并除以总数量(自动除去`NaN`)
+ ` Math.toRad(deg)`
转弧度:将`deg`角度转为弧度
+ ` Math.toDeg(rad)`
转角度:将`rad`弧度转为角度
+ 对象(Object)
+ `