- 博客(11)
- 收藏
- 关注
原创 给页面所有元素添加一个border
[].forEach.call($$("*"),function(a){a.style.outline="1px solid #"+(~~(Math.random()*(1<<24))).toString(16)})
2021-12-22 10:37:20 236
原创 关于箭头函数
函数的参数,普通的函数参数能够被arguments访问到,如果是箭头函数,则无法被arguments访问。function fuc(){ console.log(arguments);}const fun = () =>{ console.log(arguments);}fuc(1); // 1fun(1); //arguments is not defined...
2021-12-02 09:52:03 171
原创 创建对象的模式
工厂模式function createPerson(name,age,job){ let obj = new Object(); obj.name = name; obj.age = age; obj.job = job; obj.sayName = function(){ console.log(this.name); } return obj;}let person1 = createPerson('jack',12,'
2021-11-23 10:29:29 503
原创 对象的数据属性与访问器属性
1.数据属性Configurable设置属性是否可以通过delete删除,是否可以修改它的特性,是否可以把他改为访问器属性let obj = {};Object.defineProperty(obj,"value",{ configurable:false, value:"123",});// 会报错,不能二次更改Object.defineProperty(obj,"value",{ configurable:true, value:"123",})
2021-11-19 10:11:58 597
原创 关于迭代器
实现迭代器的数据类型字符串 数组 映射(Map,Set) 集合 arguments 对象 NodeList 等 DOM 集合类型检查是否实现迭代器const a = 1; const c = {};console.log(a[Symbol.iterator]); //undefinedconsolt.log(c[Symbol.iterator]); //undefinedconst str = 'abc';const arr = ['a','b',...
2021-11-16 10:32:07 870
原创 Map,WeakMap,Set,WeakSet区别
Map1. 可以使用任何类型当作键2. 可迭代遍历3.add、delete、has、clear、entries、forEach、keys、valuesWeakMap1. 只能用Object类型作为键2. 不可迭代遍历3.get、set、has、delete4. 键会被垃圾回收机制回收Set1. 可以保存任何类型的值2. 可迭代遍历3.add、delete、has、clear、entries、forEach、keys、valuesW...
2021-11-16 09:26:36 204
原创 关于逻辑操作符
const a = new Object({value:'123'});const b = new Object({value:'456'});const c = 1;a&&b // {value:'456'}a&&c // 1c&&a //{value:'123'}a||b //{value:'123'}a||c //{value:'123'}c||a // 1
2021-11-15 10:06:12 178
原创 关于位操作符
18的二进制为10010-18的二进制为:先每位取反: 01101 = 1101再给最后一位加1:1110按位非(~):let num1 = 25;let num2 = ~num1; //num2为-26也就是按位非操作符是数值取反再减一按位与(&):let result = 3&5 //result = 13 = 0 1 15 = 1 0 1只有二进制两个都是1...
2021-11-15 09:53:24 115
原创 关于浮点数计算的精度以及数值类型的数据
最好把浮点数转换成整数进行计算,否则有可能出现精度丢失的问题。比如经典的 0.1+0.2 =0.300 000 000 000 000 040.1 + 0.2 = 0.300 000 000 000 000 04;// js的最小值Number.MIN_VALUE// js最大值Number.MAX_VALUE// 关于NaN和Infinityconsole.log(0/0); // NaN console.log(-0/+0); // NaNconsole.log(5/.
2021-11-12 10:31:04 750
原创 使用Promise.all()同时发送多个请求
项目开发过程中遇到了需要同时发送多个请求以及接受返回值的情况const req = [];// 假设有多个请求req.push(res1);req.push(res2);req.push(res3);...Promise.all(req).then(result=>{//result就是所有接口的返回数据数组 console.log(result);});...
2021-11-12 09:53:12 1898
原创 关于console.log()打印对象
const a = {b:1};a;a.b = 2;在控制台按顺序执行上面的代码结果竟然是!这个问题导致我定位半天没定位到BUG位置,记录一下
2021-11-12 09:41:35 447
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人