# 🎉JavaScript

- [JS 概念](https://mm.ricky.moe/javascript/js-concept.md)
- [类型](https://mm.ricky.moe/javascript/js-concept/lei-xing.md)
- [类型转换](https://mm.ricky.moe/javascript/js-concept/lei-xing-zhuan-huan.md)
- [内存](https://mm.ricky.moe/javascript/js-concept/nei-cun.md)
- [原型链](https://mm.ricky.moe/javascript/js-concept/yuan-xing-lian.md)
- [继承](https://mm.ricky.moe/javascript/js-concept/ji-cheng.md)
- [类式继承+原型继承](https://mm.ricky.moe/javascript/js-concept/ji-cheng/lei-shi-ji-cheng.md)
- [构造函数继承](https://mm.ricky.moe/javascript/js-concept/ji-cheng/gou-zao-han-shu-ji-cheng.md)
- [组合式继承](https://mm.ricky.moe/javascript/js-concept/ji-cheng/zu-he-shi-ji-cheng.md)
- [寄生继承](https://mm.ricky.moe/javascript/js-concept/ji-cheng/ji-sheng-ji-cheng.md)
- [寄生组合](https://mm.ricky.moe/javascript/js-concept/ji-cheng/ji-sheng-zu-he.md)
- [词法作用域](https://mm.ricky.moe/javascript/js-concept/ci-fa-zuo-yong-yu.md)
- [事件委托](https://mm.ricky.moe/javascript/js-concept/shi-jian-wei-tuo.md)
- [Falsy](https://mm.ricky.moe/javascript/js-concept/falsy.md)
- [This](https://mm.ricky.moe/javascript/js-concept/this.md)
- [闭包](https://mm.ricky.moe/javascript/js-concept/bi-bao.md)
- [Event-loop](https://mm.ricky.moe/javascript/js-concept/event-loop.md)
- [跨域](https://mm.ricky.moe/javascript/js-concept/kua-yu.md)
- [function.length](https://mm.ricky.moe/javascript/js-concept/function.length.md)
- [arguments](https://mm.ricky.moe/javascript/js-concept/arguments.md)
- [!!](https://mm.ricky.moe/javascript/js-concept/undefined.md)
- [void 0](https://mm.ricky.moe/javascript/js-concept/void-0.md)
- [柯里化1](https://mm.ricky.moe/javascript/js-concept/ke-li-hua.md)
- [柯里化2](https://mm.ricky.moe/javascript/js-concept/ke-li-hua-2.md)
- [异常](https://mm.ricky.moe/javascript/js-concept/yi-chang.md)
- [协程](https://mm.ricky.moe/javascript/js-concept/coroutine.md)
- [JS陷阱](https://mm.ricky.moe/javascript/js-trap.md)
- [相等](https://mm.ricky.moe/javascript/js-trap/xiang-deng.md)
- [连等赋值](https://mm.ricky.moe/javascript/js-trap/lian-deng-fu-zhi.md)
- [改变数组的length](https://mm.ricky.moe/javascript/js-trap/gai-bian-shu-zu-de-length.md)
- [引用传参](https://mm.ricky.moe/javascript/js-trap/yin-yong-chuan-can.md)
- [new Number vs Number](https://mm.ricky.moe/javascript/js-trap/new-number-vs-number.md)
- [new Object vs Object vs Object.create(null)](https://mm.ricky.moe/javascript/js-trap/new-object-vs-object-vs-object.create-null.md)
- [JS开发知识点](https://mm.ricky.moe/javascript/js-kai-fa-zhi-shi-dian.md)
- [html classlist](https://mm.ricky.moe/javascript/js-kai-fa-zhi-shi-dian/html-classlist.md)
- [图片懒加载](https://mm.ricky.moe/javascript/js-kai-fa-zhi-shi-dian/tu-pian-lan-jia-zai.md)
- [提取对象中所有属性除了某一项](https://mm.ricky.moe/javascript/js-kai-fa-zhi-shi-dian/ti-qu-dui-xiang-zhong-suo-you-shu-xing-chu-le-mou-yi-xiang.md)
- [空值判断](https://mm.ricky.moe/javascript/js-kai-fa-zhi-shi-dian/kong-zhi-pan-duan.md)
- [实现JS常见函数](https://mm.ricky.moe/javascript/chang-jian-han-shu.md)
- [Debounce](https://mm.ricky.moe/javascript/chang-jian-han-shu/debounce.md): 防抖函数总结
- [Throttle](https://mm.ricky.moe/javascript/chang-jian-han-shu/throttle.md): 节流函数总结
- [Call, Apply, Bind](https://mm.ricky.moe/javascript/chang-jian-han-shu/call-apply-bind.md)
- [type](https://mm.ricky.moe/javascript/chang-jian-han-shu/type.md)
- [深拷贝](https://mm.ricky.moe/javascript/chang-jian-han-shu/shen-kao-bei.md)
- [isEuqal](https://mm.ricky.moe/javascript/chang-jian-han-shu/iseuqal.md)
- [数组乱序](https://mm.ricky.moe/javascript/chang-jian-han-shu/shu-zu-luan-xu.md)
- [数组去重](https://mm.ricky.moe/javascript/chang-jian-han-shu/shu-zu-qu-zhong.md)
- [实现 merge](https://mm.ricky.moe/javascript/chang-jian-han-shu/js-merge.md)
- [数组flat](https://mm.ricky.moe/javascript/chang-jian-han-shu/shu-zu-flat.md)
- [实现 map](https://mm.ricky.moe/javascript/chang-jian-han-shu/shi-xian-map.md)
- [数组filter](https://mm.ricky.moe/javascript/chang-jian-han-shu/shu-zu-filter.md)
- [模拟new](https://mm.ricky.moe/javascript/chang-jian-han-shu/mo-ni-new.md)
- [模拟实现async](https://mm.ricky.moe/javascript/chang-jian-han-shu/mo-ni-shi-xian-async.md)
- [模拟instance of](https://mm.ricky.moe/javascript/chang-jian-han-shu/mo-ni-instance-of.md)
- [Object.create(null)与{}](https://mm.ricky.moe/javascript/chang-jian-han-shu/object.createnull-yu.md)
- [实现promisify](https://mm.ricky.moe/javascript/chang-jian-han-shu/shi-xian-promisify.md)
- [实现Promise.all](https://mm.ricky.moe/javascript/chang-jian-han-shu/shi-xian-promise.all.md)
- [实现Promise.race](https://mm.ricky.moe/javascript/chang-jian-han-shu/shi-xian-promise.race.md)
- [实现Promise.resolve/reject](https://mm.ricky.moe/javascript/chang-jian-han-shu/shi-xian-promise.resolvereject.md)
- [实现Promise.finnaly](https://mm.ricky.moe/javascript/chang-jian-han-shu/shi-xian-promise.finnaly.md)
- [实现Promise](https://mm.ricky.moe/javascript/chang-jian-han-shu/shi-xian-promise.md)
- [实现parseInt](https://mm.ricky.moe/javascript/chang-jian-han-shu/shi-xian-parseint.md)
- [实现foreach](https://mm.ricky.moe/javascript/chang-jian-han-shu/shi-xian-foreach.md)
- [实现Object keys](https://mm.ricky.moe/javascript/chang-jian-han-shu/shi-xian-object-keys.md)
- [实现JS 常见操作函数](https://mm.ricky.moe/javascript/common-js-func.md)
- [JS  Empty](https://mm.ricky.moe/javascript/common-js-func/js-empty.md)
- [JS Safe Get](https://mm.ricky.moe/javascript/common-js-func/js-safe-get.md)
- [JS Worker](https://mm.ricky.moe/javascript/js-worker.md)
- [Cloudflare Worker](https://mm.ricky.moe/javascript/js-worker/cloudflare-worker.md)
- [ES6](https://mm.ricky.moe/javascript/es6-1.md)
- [ES6/ES7/ES8/ES9索引](https://mm.ricky.moe/javascript/es6-1/es6es7es8es9-suo-yin.md)
- [+，-，\*\* 运算符](https://mm.ricky.moe/javascript/es6-1/+-yun-suan-fu.md)
- [Let  知识点](https://mm.ricky.moe/javascript/es6-1/let-zhi-shi-dian.md)
- [块级作用域](https://mm.ricky.moe/javascript/es6-1/kuai-ji-zuo-yong-yu.md)
- [Const知识点](https://mm.ricky.moe/javascript/es6-1/const-zhi-shi-dian.md)
- [Class](https://mm.ricky.moe/javascript/es6-1/class.md)
- [Proxy](https://mm.ricky.moe/javascript/es6-1/proxy.md)
- [Reflect](https://mm.ricky.moe/javascript/es6-1/reflect.md)
- [Symbol](https://mm.ricky.moe/javascript/es6-1/symbol.md)
- [Promise](https://mm.ricky.moe/javascript/es6-1/promise.md)
- [Iterator](https://mm.ricky.moe/javascript/es6-1/iterator.md)
- [For-of](https://mm.ricky.moe/javascript/es6-1/for-of.md)
- [for..in 与 for..of的区别](https://mm.ricky.moe/javascript/es6-1/for..in-yu-for..of-de-qu-bie.md)
- [Iterator](https://mm.ricky.moe/javascript/es6-1/iterator-2.md): 遍历器
- [Generator函数](https://mm.ricky.moe/javascript/es6-1/generator-han-shu.md)
- [async](https://mm.ricky.moe/javascript/es6-1/async.md)
- [装饰器](https://mm.ricky.moe/javascript/es6-1/zhuang-shi-qi.md)
- [模块](https://mm.ricky.moe/javascript/es6-1/mo-kuai.md): CMD/AMD/UMD/ES6
- [WeakMap](https://mm.ricky.moe/javascript/es6-1/weakmap.md): 弱引用集合
- [模块](https://mm.ricky.moe/javascript/es6-1/mo-kuai-1.md)
- [尾调用优化](https://mm.ricky.moe/javascript/es6-1/wei-tiao-yong-you-hua.md)
- [ES6 函数](https://mm.ricky.moe/javascript/es6-han-shu.md)
- [concat](https://mm.ricky.moe/javascript/es6-han-shu/concat.md)
- [reduce](https://mm.ricky.moe/javascript/es6-han-shu/reduce.md)
- [slice](https://mm.ricky.moe/javascript/es6-han-shu/slice.md)
- [splice](https://mm.ricky.moe/javascript/es6-han-shu/splice.md)
- [Array.some](https://mm.ricky.moe/javascript/es6-han-shu/array.some.md)
- [Array every](https://mm.ricky.moe/javascript/es6-han-shu/array-every.md)
- [Array.prototype.includes](https://mm.ricky.moe/javascript/es6-han-shu/array.prototype.includes.md)
- [Object.entries/Object.values/Object.keys](https://mm.ricky.moe/javascript/es6-han-shu/object.entries-object.values-object.keys.md)
- [Typescript](https://mm.ricky.moe/javascript/typescript.md)
- [使用](https://mm.ricky.moe/javascript/typescript/shi-yong.md)
- [基础类型](https://mm.ricky.moe/javascript/typescript/shi-yong/ji-chu-lei-xing.md)
- [?: 可选属性](https://mm.ricky.moe/javascript/typescript/shi-yong/ke-xuan-shu-xing.md)
- [Keyof](https://mm.ricky.moe/javascript/typescript/shi-yong/keyof.md)
- [is](https://mm.ricky.moe/javascript/typescript/shi-yong/is.md)
- [in](https://mm.ricky.moe/javascript/typescript/shi-yong/in.md)
- [Partial](https://mm.ricky.moe/javascript/typescript/shi-yong/partial.md)
- [DeepPartial](https://mm.ricky.moe/javascript/typescript/shi-yong/deeppartial.md)
- [Required](https://mm.ricky.moe/javascript/typescript/shi-yong/required.md)
- [Exclude](https://mm.ricky.moe/javascript/typescript/shi-yong/exclude.md)
- [Pick](https://mm.ricky.moe/javascript/typescript/shi-yong/pick.md)
- [Omit](https://mm.ricky.moe/javascript/typescript/shi-yong/omit.md)
- [infer](https://mm.ricky.moe/javascript/typescript/shi-yong/infer.md)
- [ReturnType](https://mm.ricky.moe/javascript/typescript/shi-yong/returntype.md)
- [Record](https://mm.ricky.moe/javascript/typescript/shi-yong/record.md)
- [重载](https://mm.ricky.moe/javascript/typescript/shi-yong/zhong-zai.md)
- [泛型变量](https://mm.ricky.moe/javascript/typescript/shi-yong/fan-xing-bian-liang.md)
- [泛型接口](https://mm.ricky.moe/javascript/typescript/shi-yong/fan-xing-jie-kou.md)
- [字面量类型守卫](https://mm.ricky.moe/javascript/typescript/shi-yong/zi-mian-liang-lei-xing-shou-wei.md)
- [type和interface的区别](https://mm.ricky.moe/javascript/typescript/shi-yong/type-he-interface-de-qu-bie.md)
- [赋值断言](https://mm.ricky.moe/javascript/typescript/shi-yong/fu-zhi-duan-yan.md)
- [类型断言](https://mm.ricky.moe/javascript/typescript/shi-yong/lei-xing-duan-yan.md)
- [编译原理](https://mm.ricky.moe/javascript/typescript/bian-yi-yuan-li.md)
- [编译器](https://mm.ricky.moe/javascript/typescript/bian-yi-yuan-li/bian-yi-qi.md)
- [设计工具类型(重要）](https://mm.ricky.moe/javascript/typescript/she-ji-gong-ju-lei-xing-zhong-yao.md)
- [V8](https://mm.ricky.moe/javascript/v8.md)
- [JS 数组](https://mm.ricky.moe/javascript/v8/v8-js-array.md)
- [垃圾回收](https://mm.ricky.moe/javascript/v8/la-ji-hui-shou.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://mm.ricky.moe/javascript.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
