📄️ 2147483648的特殊性
2147483648 = 2的31次方
📄️ 4种方式判断this指向
如果要判断一个函数内的this指向,只有在运行这个函数的时候,才能知道。通过查看调用函数的方式,按照以下顺序来判断this的指向:
📄️ BOM和DOM的关系
包含关系,DOM 是 BOM 的成员之一
📄️ DOM之attribute 和 property
attribute
📄️ ES - Date 对象
- 获取年/月/日/时/分/秒/毫秒
📄️ ES6-Set 和 Map
Set()
📄️ ES6-symbol
Symbol 是es6新增的一种数据类型。
📄️ ES6-函数新特性
参数默认值
📄️ ES6-变量
声明变量
📄️ ES6-可选链&空值合并
- 可选链运算符?.
📄️ ES6-字符串
字符的Unicode标识,可以将码点放入大括号
📄️ ES6-字符串方法
对象方法
📄️ ES6-数值
二进制和八进制表示法
📄️ ES6-正则表达式
创建正则表达式规则的四种方法
📄️ ES6-解构赋值
解构赋值:按照一定的模式,从数组和对象中提取值,对声明的变量进行赋值;如果被提取的不是数组或对象,则先转化成数组或对象。
📄️ Error及相关构造函数
1. 构造函数 Error 表示一个错误对象,当运行时错误产生时,Error 的实例对象会被抛出。Error 对象也可以用来创建自定义的异常对象。
📄️ Iframe-postMessage
- 父级页面
📄️ Iframe渲染和通信
- 背景
📄️ JS-计算机科学进制Base X
计算机科学中常用的进制:
📄️ JS字符转Base64方法
Base64 小记
📄️ JavaScript 引擎执行代码的主要步骤
1. 词法分析(Lexical Analysis)
📄️ JavaScript 进阶问题列表
我在我的 Instagram 上每天都会发布 JavaScript 的多选问题,并且同时也会在这个仓库中发布。
📄️ LHS 和 RHS
LHS 和 RHS 简单来说是一个赋值操作的左侧和右侧,L 就代表 Left 左侧,R 就是代表 Right 右侧。当变量出现在赋值操作的左侧时进行 LHS 查询,出现在右侧时进行 RHS 查询。
📄️ Object.entries 和 Object.fromEntries
Object.entries: 将对象或基于对象的可迭代对象转换为键值对数组
📄️ Observer 家族
- MutationObserver:监听dom属性或节点 发生变化,参考资料
📄️ PerformanceObserver 学习笔记
基本使用
📄️ Range
文档片段(用于操作选中的文本)
📄️ Selection
获取用户选择的文本范围,或者插入符号的位置
📄️ Service Worker
service worker 使用 navigator.serviceWorker 实现一系列的功能,比如推送通知、网络请求拦截、缓存资源等。
📄️ Web Worker学习笔记
JavaScript (JS) 是单线程的,但是单线程对于多核的 CPU 来说,比较浪费资源。使用 Web Worker 可以在主线程外,生成其他 Worker 线程,处理主线程之外的任务。主线程与 Worker 线程同时运行,互不打扰。Worker 线程处理完后,再将处理结果发送给主线程。Web Worker 的主要目的是为了在浏览器中进行后台处理,避免长时间运行的复杂操作阻塞 UI 线程,从而影响用户体验。通过将这些操作放在 Web Worker 中,主线程(UI 线程)可以专注于处理用户交互和渲染,而不会被阻塞。
📄️ Web 剪切板 API
Clipboard API 异步剪切板 API
📄 ️ await&async
- 函数前面若有async关键字,表明函数内部有异步操作;调用该函数,会立即返回一个promise实例;
📄️ encodeURI 和 encodeURIComponent
网页的 URL 只能包含合法的字符。合法字符分成两类,除了这两类,其他字符出现在 URL 之中都必须转义:
📄️ eval方法调用
1. eval 分为直接调用和间接调用两种
📄️ globalThis、self、window、global 的区别
346 - 《globalThis、self、window、global 的区别》
📄️ javascript-Function 和 Object 的关系
1. Function 和 Object 的关系
📄️ javascript-prototype 和 __proto__ 的区别
开篇
📄️ javascript-类的继承和多态
继承关系:
📄️ js 基础
- 字符串转数组
📄️ js-Javascript中的封装对象机制
包装
📄️ js-原生构造函数的prototype、__proto__、constructor
代码
📄️ js-自定义滚动条
https://juejin.cn/post/6844903847282868238#heading-10
📄️ js严格模式
js 严格模式会在文件的开头标明
📄️ js中的自动拆箱(unboxing)机制
自动拆箱机制是JavaScript中的一个重要特性,它允许我们在大多数情况下将包装对象和 原始值互换使用,提高了语言的灵活性和易用性。
📄️ js字符编码
Unicode字符集:
📄️ js执行的创建阶段和执行阶段
创建阶段(Creation Phase)
📄️ js的运算符优先级问题
📄️ js精度问题
二进制浮点数最大的问题是:
📄️ Mouse Drag
事件监听的类型:
📄️ new URL的使用
基本使用及问题
📄️ outer标记
- outer 是一个标签(label),用于标识代码块或循环的起始位置,通常与break 和 continue 结合使用
📄️ parseInt方法
解释:
📄️ reduce 小练习
1. 数组求和
📄️ setInterval 立即执行
背景:每隔 5s 打印一下当前时间,页面加载完成后,需立即执行一次;setInterval 只会在5s后才会打印第一次;
📄️ switch、if-else、map性能测试
📄️ 使用 bind 确保this的上下文
如上代码,cacheStore 是工厂函数的实例,在 cacheStore 内部有一个 cache 对象,当调用set/get 时,内部调用的是this.cache进行赋值/获取。直接将 cacheStore.get 赋值给 localCacheGetItem,调用 localCacheGetItem 会出现 this 为 undefined的 情况,在这种情况下,应该是要使用 bind 改写。