0.0.6 • Published 1 year ago
zh-library v0.0.6
zh-library
基本信息
介绍
zh-library中封装了一些常用的js方法,并做了ts声明,您可以在js/ts文件中直接引用,其使用的模块化标准是ESM,故请采用import的方式引入
其封装的常用方法如下:
- log: 调试输出
- deepClone: 深拷贝
- getDate: 取本地时间
- getType: 判断变量的类型
PS:具体使用可见下方的常用方法中
安装
npm install zh-library
使用
// 以log函数为例
import { log } zh-library
log("调试输出", [1, 2], {a: "A"});
常用方法
deepClone
起因
浅拷贝的问题
var o1 = {
a: 1,
b(){}
}
// 引用o1给o2(在js中object类型用=号,是引用,而非赋值, 被称为"浅拷贝")
var o2 = o1;
o2.a = 2;
// 修改o2的值,由于是引用,同时也会修改o1里的值
console.log (o1); // {a: 2, b: ƒ}
console.log (o1); // {a: 2, b: ƒ}
JSON.stringify 的问题
var o1 = {
a: 1,
b(){}
}
// 通过JSON来深拷贝
var o2 = JSON.parse(JSON.stringify(o1));
o2.a = 2;
// JSON.stringify不能拷贝function
console.log (o1); // {a: 1, b: ƒ}
console.log (o1); // {a: 2}
使用
import { deepClone } zh-library
var o1 = {
a: 1,
b(){}
}
var o2 = deepClone(o1);
o2.a = 2;
console.log (o1); // {a: 1, b: ƒ}
console.log (o1); // {a: 2, b: ƒ}