@nick-wilde/jshelper v1.2.1
@nick-wilde/JSHelper
封装JavaScript中一些常见的功能,如类型判断、数据请求/下载、深浅拷贝、GUID生成等
使用
npm i @nick-wilde/jshelper主要类说明
JSHelper
提供众多常见的静态工具方法,如数据类型判定、请求发送、数组深度检测等
MathHelper
提供常用的数学方法,例如平面几何解算、贝塞尔曲线等
Animation
基于requrstAnimationFrame的动画控制类
API
Table of Contents
- JSHelper
- MathHelper
JSHelper
Meta
- author: nick
IsNumber
判断给定参数是否是数值类型
Parameters
objany
Returns Boolean
IsString
判断给定参数是否是字符类型
Parameters
objany
Returns Boolean
IsBoolean
判断给定参数是否是布尔类型
Parameters
objany
Returns Boolean
IsObject
判断给定参数是否是Object类型
Parameters
objany
Returns Boolean
IsUndefined
判断给定参数是否是undefined
Parameters
objany
Returns Boolean
IsNull
判断给定参数是否是null
Parameters
objany
Returns Boolean
IsFunction
判断给定参数是否是函数(不包括异步函数)
Parameters
objany
Returns Boolean
IsAsyncFunction
判断给定参数是否是异步函数
Parameters
objany
Returns Boolean
IsArray
判断给定参数是否是数组类型
Parameters
objany
Returns Boolean
IsInteger
判断给定参数是否是整数
Parameters
objany
Returns Boolean
ToRadian
将角度转换为弧度
Parameters
numberNumber 角度(度)
Returns Number
ToAngle
将弧度转换为角度
Parameters
numberNumber 角度(弧度)
Returns Number
ToDFM
将角度(度)拆分为度分秒
Parameters
angleNumberdecimalsForSecondsInterger 秒组件保留的小数位数 (optional, default0)
Returns Array[Number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)
ToDegrees
将度分秒转换为度
Parameters
Returns any
Clamp
将返回值限定在指定数值范围之内(右边界可取)
Parameters
Returns Number
RequestAsync
异步ajax请求
Parameters
urlString http数据链接methodString HTTP方法,目前支持:"GET","POST"responseTypeString 返回类型,目前支持:"", "text", "json", "document", "arraybuffer", "blob"paramsString? POST参数,形如查询字符串参数
Returns any
DownLoadObj
将JS对象下载为文件
Parameters
objanyfileNameString 保存的文件名
GetElement
根据id或element返回html element 实例(若指定id的dom不存在,则创建)
Parameters
element(String | HTMLElement)
Returns any
DeepClone
深度拷贝对象
Parameters
dataany 要深度拷贝的源数据skipFunBoolean 标识克隆时是否跳过函数类型成员
Returns any
GenerateGUID
生成GUID
Returns String
GetArrayDepth
获取数组深度(仅检查第一项)
Parameters
arrArray 待检测数组depthInteger? 深度起始值
Returns Integer
Defined
判定对象是否非空(undefined+null判断)
Parameters
valueany
Returns any
GetQueryParams
从url链接获取查询参数键值对
Parameters
urlString
Returns Object
MathHelper
Meta
- author: nick
Factorial
计算阶乘值
Parameters
valueInterger
Returns Interger
Distance
计算两点的直线距离
Parameters
p1Array[Number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)p2Array[Number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)
Returns Number
MidPoint
获取p1、p2中点
Parameters
p1Array[Number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)p2
Returns Array[Number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)
PointOnExtendedLine
获取p1->p2延长线上点
Parameters
p1Array[Number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)p2Array[Number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)kNumber 基于p2-p1坐标差的系数
Returns Array[Number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)
BiSectorPoint
获取角p1p3p2 的角平分线在p1-p2上的交点
Parameters
p1Array[Number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)p2Array[Number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)p3Array[Number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)
Mix
在a,b之间返回线性插值结果. 推广到二维空间就是一阶贝塞尔曲线
Parameters
aNumber Specify the start of the range in which to interpolate.bNumber Specify the end of the range in which to interpolate.ratioNumber Specify the value to use to interpolate between x and y. 值域:[0,1]
Returns any
BesselSquarePoints
获取二阶贝塞尔曲线点集
Parameters
p1Array[Number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)p2Array[Number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)p3Array[Number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)countInterger
Returns Array[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[Number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)>
BesselCubicPoints
获取三阶贝塞尔点集
Parameters
p1Array[Number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)p2Array[Number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)p3Array[Number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)p4Array[Number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)countInterger
Returns Array[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[Number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)>
BesselPoints
获取贝塞尔点集(自动适配阶数)
Parameters
pointsArray[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[Number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)>countInterger
Returns Array[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[Number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)>