javascript框架设计(读书笔记)

我觉得多看几本进阶的书

与其十本书读一遍,不如一本书读十遍

读书的启示:

  • 读好书(看推荐)
  • 精读(重复看)
  • 1557392130309
  • 能读厚书(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页

.......................................................................................................................................................................................................#

posted @ 2019-05-09 23:30  猫神甜辣酱  阅读(493)  评论(0编辑  收藏  举报