Dom树怎么形成
当浏览器加载 HTML 文档时,它会执行一系列步骤来解析文档并构建 DOM 树。这个过程可以分为以下几个阶段:
当浏览器加载 HTML 文档时,它会执行一系列步骤来解析文档并构建 DOM 树。这个过程可以分为以下几个阶段:
JavaScript 精度丢失问题通常指的是浮点数精度丢失的情况,这是由于 JavaScript 中的浮点数采用 IEEE 754
标准表示,而该标准无法准确表示一些十进制小数。这可能导致在进行浮点数运算时出现意外的结果或精度损失。
0.1 + 0.2 // 返回0.30000000000000004
闭包是指函数与其词法环境的组合,函数可以访问其词法作用域中的变量,即使在函数定义之后执行也可以访问到。闭包可以在函数内部创建私有变量,并且可以通过返回函数或传递函数作为参数的方式,将这些私有变量暴露给外部作用域。闭包是 JavaScript 中非常强大和常用的特性,它能够帮助开发者实现许多功能,例如模块化、封装、延迟执行等。
我们之前利用 a 标签的锚点功能,能让页面滚动到指定位置,但是存在顿挫感,使用scroll-behavior: smooth;
可以让滚动变得丝滑。
手写深拷贝
了解 service work 前先了解一下 PWA,那么什么是 PWA 呢?
1 | const arr = [1, 2.3]; |
1 | //(method) Array<any>.indexOf(searchElement: any, fromIndex?: number | undefined): number |
或
1 | Array.prototype.myUnique = function () { |
1 | function fn(min, max) { |
1 | let count; |
1 | const url = "https://baidu.com?a=1&b=2&c=3#hash"; |
1 | function result(arr) { |
或
1 | const arr = [1, 2, 3, 4, 5, 6, 7, 8]; |
1 | let arr = [1, 2, [3, 4, 5], 6, [7, [8, 9, [10, [11, 12]]]]]; |
或
1 | const flatten = function (arr) { |
// nums target
1 | const nums = [2, 7, 11, 17]; |
// 1. promise.all
1 | const fs = require("fs"); |
1 | class EventEmitter { |
1 | Function.prototype.myApply = function (context, args) { |
1 | Function.prototype.myCall = function (context, ...args) { |
1 | Function.prototype.myBind = function (context, ...arg1) { |
1 | Promise.all = function (promises) { |
1 | function myInstanceof(target, origin) { |
1 | Array.prototype.reduce = function (cb, initialValue) { |