Vue2.5微信读书
重构饿了么APP
vue+Vuex+SSR开发美团网。
Linux间进程通信--无名管道和命名管道
1.无名管道(pipe)
管道是linux进程间通信的一种方式,如命令 ps -ef | grep ntp
无名管道的特点:
1、只能在亲缘关系进程间通信(父子或兄弟)
2、半双工(固定的读端和固定的写端)
3、是特殊的文件,可以用read、write等,只能在内存中
2.命名管道(FIFO)
无名管道只能在亲缘关系的进程间通信大大限制了管道的使用,有名管道突破了这个限制,通过指定路径名的范式实现不相关进程间的通信
堆是一种完全二叉树结构
new一个对象的过程:
创建一个对象通常需要两步:1.定义构造函数;2.通过new来创建对象实例。
当我们使用new新建一个对象(new Obj())的时候:
1.一个新的对象被创建,同时继承了对象类型的原型,即Obj.prototype;
2.this指向新构造的对象;执行对象原型的构造函数,同时该实例的属性和方法被this所引用
3.如果构造函数return了一个新的“对象”,那么这个对象就会取代整个new出来的结果。否则隐式返回this。
constructor 是原型指向构造函数的一个属性,在构造函数中没有这样一个属性而去原型链查找,所以是
Function.constructor === Function.prototyoe.constructor
而不仅仅是 Function.constructor === Function
Function比较特殊,相当于自己构造了自己。谁构造了你,你的constructor就是谁。
冒泡、插入、基数、归并排序稳定。(最差好像都是O(n^2)).
选择、快速、希尔、堆排序不稳定。 归并和堆排序时间复杂度不超过n*log n.
HTTP有状态是指下次传输能够“记住”这次传输的能力,而http每次传输都得重新建立连接。
Js 中,有两类任务队列:宏任务队列(macro tasks)和微任务队列(micro tasks)。宏任务队列可以有多个,微任务队列只有一个。那么什么任务,会分到哪个队列呢?
宏任务:script主代码块(全局任务), setTimeout, setInterval, setImmediate, I/O, UI rendering.
微任务:process.nextTick, Promise, Object.observer, MutationObserver.
JavaScript垃圾回收的机制很简单:找出不再使用的变量,然后释放掉其占用的内存,但是这个过程不是时时的,因为其开销比较大,所以垃圾回收器会按照固定的时间间隔周期性的执行。
for–in 用于遍历对象的属性。
for-of 用于遍历数据 – 就像数组中的元素。还可以用于类数组的对象、遍历字符串,它还适用于 Map 和 Set 对象。
for-of与 forEach不同的是,它支持 break、continue 和 return 语句。
Map对象由键值对构成,遍历方式略有不同,你需要用两个独立的变量来分别接收键和值:
for (var [key, value] of phoneBookMap) {
console.log(key + "'s phone number is: " + value);
}
// total是累加值,currentValue是当前遍历的值
[0,1,2,3,4].reduce( (total, currentValue, currentIndex, array) => { return total+ currentValue; }, 10);
共同学习,写下你的评论
评论加载中...
作者其他优质文章