链表是多个元素组成的列表,元素储存不连续,可以通过next指针连在一起
不过对于我们Javascript语言来说没有链表,不过我们可以通过obj.next方式实现
1. 实现链表
const a = { val: 'a' } const b = { val: 'b' } const c = { val: 'c' } const d = { val: 'd' } a.next = b b.next = c c.next = d // 遍历链表 let p = a while(p) { console.log(p) p = p.next } // 插入元素 const e = { value: 'e' } c.next = e e.next = d // 删除元素 c.next = d
2. 练习
3. 应用
- JS原型链
- 如果A沿着原型链能找到B.prototype,那么A instanceof B为true
- 如果A对象上能找到x属性,那么沿着原型链找x属性
// 实现instanceof const instanceof = (A, B) => { let p = A while(p) { if(p === B.prototype) { return true } p = p.__proto__ } return false }