我觉得多看几本进阶的书

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

读书的启示:

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

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

最新文章

  1. spring源码分析之<context:component-scan/>vs<annotation-config/>
  2. About_类与对象03
  3. 使用ajax登录格式
  4. Cookie实例,理解cookie
  5. Java 中判断两个对象是否相等
  6. SQL技术内幕-10 in和exists 性能比较
  7. spring mvc 初步接触学习笔记
  8. Summary: How to calculate PI? Based on Monte Carlo method
  9. HBase笔记--安装及启动过程中的问题
  10. 多校联赛2 Problem2 Warm up 求桥的数目+缩点后的树的直径 当时被不知道原因的爆栈爆到无语了。。
  11. Android实现购物车功能
  12. JSON字符串转为JSON对象
  13. cmd登录系统用户
  14. luogu4365 秘密袭击 (生成函数+线段树合并+拉格朗日插值)
  15. 2018-2019 ICPC, NEERC, Southern Subregional Contest (Online Mirror, ACM-ICPC Rules, Teams Preferred)
  16. 当使用xmapp时session序列化生成的文件的路径
  17. CMDB服务器管理系统【s5day89】:采集资产之汇报信息
  18. 一张图教你读懂AI简史
  19. A记录和CNAME记录的区别
  20. Linux本地解析文件/etc/hosts说明【原创】

热门文章

  1. 记录vue项目 用hbuilder离线打包集成极光推送 安卓篇
  2. vue+element 表格按需合并
  3. vim编辑器-Linux从入门到精通第四天(非原创)
  4. mysql 连接数用完,root也无法登陆的处理方法
  5. Linux源码编译nginx
  6. ansible自动化运维04
  7. QElapsedTimer定时器记录程序执行时间
  8. system.exit(int status)中status值不同时的区别
  9. webUploader大文件断点续传学习心得 多文件
  10. LOJ 3119: 洛谷 P5400: 「CTS2019 | CTSC2019」随机立方体