javascript框架设计(读书笔记)
我觉得多看几本进阶的书
与其十本书读一遍,不如一本书读十遍
读书的启示:
- 读好书(看推荐)
- 精读(重复看)
- 能读厚书(javascript权威指南)
Object.keys
Object.keys=Object.keys||function(obj){
var a=[];
for(a[a.length] in obj);
return a;
}
-----理解
obj={a:1, b: 2};
let a=[];
for (i in obj) {
//a[a.length] a.length=0 添加a
a[0]=a;
a[1]=b;
}
合并多个对象
let o1 = {a: 1};
let o2 = {b: 2,c:2};
let o3 = {c: 3};
console.log(Object.assign(o1, o2, o3));
因为是浅拷贝 如果想深拷贝JSON.stringify
let o1 = {a: 1};
let o2 = {b: 2,c:2};
extends1=(target,source)=>{
for (let obj in source){
target[obj]=source[obj]
}
return target
};
console.log(extends1(o1, o2));
类数组
Array.from([1,2,3,4],v=>v+v)
Array.from({length:4},(v,i)=>i)
Array.prototype.slice.call()//切割字节
//[].slice.call('123') //[1,2,3]
类型判断
typeof null //"object"
typeof document.all //"undefined"
instanceof 判断复杂类型
Object.prototype.toString
isNaN 的问题
* Number.isNaN来解决
* Object.is() 来解决
数组查找
indexOf 找到返回索引 没找到返回-1
[1,2,3,4].indexOf(1)
find 找到返回目标值,没找到返回undefined
console.log([1, 2, 3, 4].find(v => v == 100));
findIndex 找到返回索引,没找到返回-1
console.log([1, 2, 3, 4].find(v => v == 100));
every 返回值Boolean,全部查找,找到返回true,没找到返回false(全部)
some 找到就返回Boolean(至少)
filter 返回一个数组
includes 返回Boolean 找到返回true 没找到返回false
console.log([1, 2, 3, 4, 5, 5].includes(100));
startsWith() 返回Boolean, 匹配开头
endsWith() 返回Boolean,匹配结尾
repeat() 复制几份
trimStart() trimeEnd() trim()
charAt(1) 返回字符串第1位的数字
substr() 参数: 开始的位置,个数
substring() 参数: 开始的位置,结束的位置
模块
Comjs
let a=require('./xxx')
模块特点:
* 扩展性
* 高可用
* 稳定性
p79页
.......................................................................................................................................................................................................#
决定自己的高度的是你的态度,而不是你的才能
记得我们是终身初学者和学习者
总有一天我也能成为大佬