JS今日份练习题3 今日份练习题 1、无重复字符的最长子串123456编写一个函数 lengthOfLongestSubstring(s),该函数接受一个字符串 s,返回其中不包含重复字符的最长子串的长度。lengthOfLongestSubstring("abcabcbb"); // 返回 3,因为最长的无重复子串是 "abc"lengthOfLongestSubstring 2025-03-09 JavaScript #无重复字符的最长子串(滑动窗口) #最长回文子串(动态规划) #三数之和(双指针)
JS今日份练习题2 今日份练习题 1、实现 Promise.all1234请实现一个函数 promiseAll(promises),它接受一个 Promise 数组作为参数,并返回一个新的 Promise。当所有传入的 Promise 都成功时,新 Promise 应以数组形式返回所有结果,顺序与原数组一致;如果其中任意一个 Promise 被拒绝,则新 Promise 应立即被拒绝,并返回该错误。 ? Promi 2025-03-09 JavaScript #题库 #实现 Promise.all #实现自定义的 bind 方法 #实现柯里化函数 #实现节流函数 #实现 Promise.race #数组传入指定深度展平 #匹配括号问题
JS今日份练习题 今日份练习题 1、异步执行顺序1234console.log(1);setTimeout(() => { console.log(2); }, 0);Promise.resolve().then(() => { console.log(3); });console.log(4); ? 什么是setTimeout Web API,window的方 2025-03-08 JavaScript #题库 #异步执行顺序 #变量提升 #闭包与作用域 #反转字符串 #数组去重 #深拷贝 #防抖函数
Vue的小重点 Vue的小重点 一、生命周期1、生命周期过程Vue的生命周期是指Vue实例从创建到销毁的过程。 Vue2生命周期 创建阶段 beforeCreate:实例尚未完成初始化,不能访问data、computed、methods等。 created:data、computed、methods 等已经初始化,可以访问和修改。DOM还未渲染。 挂载阶段 beforeMount:已经编译好模版,但还没有 2025-02-21 Vue #组件通信 #生命周期 #Router路由 #Vuex #虚拟DOM
Vue基础 Vue基础 1、Vue的基本原理Vue是一款用于构建用户界面的 JavaScript 框架。采用的MVVM架构(Model-View-ViewModel),通过数据驱动和组件化开发来构建用户界面。 MVVM架构 Model,数据层,存储应用的状态数据 View,视图层,即DOM,展示数据的UI VIewModel,视图模型,Vue实例充当ViewModel,负责把View和Model绑定,实现数据 2025-02-20 Vue #MVVM #响应式数据 #模版编译 #组件通信 #computed #watch #slot #保存页面状态 #事件修饰符 #v-if #v-show #v-model #keep-alive #$nextTick #Vue.set #自定义指令 #依赖收集 #性能优化
JS里面的一些重点 JS里面的一些重点 1、原型和原型链JavaScript 中所有的对象都有一个内置属性,称为它的 prototype(原型)。它本身是一个对象,故原型对象也会有它自己的原型,逐渐构成了原型链。原型链终止于拥有 null 作为其原型的对象上。 末端通常是 Object.prototype,其 [[Prototype]] 为 null) 函数的prototype属性 当我们定义函数时,JS会自动为 2025-02-19 JavaScript #原型 #闭包 #作用域 #执行上下文 #异步编程 #面向对象 #垃圾回收
JS基础大乱炖一锅出 JS基础大乱炖一锅出 1、new操作符的实现原理原理!就4步! 1、创建空对象 2、把新对象内部的[[Prototype]]指向构造函数的prototype 3、以新对象为this调用构造函数,初始化新对象 4、如果构造函数返回的是对象,直接返回。否则,返回创建的新对象。 123456789101112131415161718192021222324// 首先,咱们写一个构造函数function 2025-02-18 JavaScript #正则表达式 #new操作符 #map和Object #WeakMap #内置对象 #JSON #脚本延迟加载 #类数组对象 #数组 #Unicode #位运算符 #DOM #BOM #AJAX #Axios #Fetch
ES6相关芝士点 ES6相关芝士点 1、let、const、var的区别作用域 var 声明的变量具有函数作用域或全局作用域。 函数作用域:如果在函数内使用 var 声明变量,则该变量只在这个函数内有效。 let 和 const 声明的变量具有块级作用域。 块级作用域:由大括号 {} 包含的区域。 变量提升 变量提升:将变量是或者函数声明提升到所在作用域顶部的行为。 var 声明的变量会被提升到函数作用 2025-02-17 JavaScript #let、const、var的区别 #new操作符的原理 #箭头函数与普通函数的区别 #扩展运算符 #解构 #模板字符串
进一步讨论数据类型 进一步讨论数据类型 1、原始数据类型和引用数据类型的区别原始数据类型: 不可变性:原始数据类型的值一旦被创建就不能改变,例如,对字符串的操作总是返回一个新的字符串,不会修改原来的字符串。 字符串池:字符串池(String Pool)是一种内存优化机制。当创建一个新的字符串字面量时,JavaScript 引擎会先检查字符串池中是否已经存在相同内容的字符串。如果存在,则直接返回池中字符串的引用,而 2025-02-15 JavaScript #原始数据类型 #引用数据类型 #数据类型检测 #判断数组的方式 #null和undefined的区别 #isNaN 和 Number.isNaN 的区别 #类型转换规则 #与或操作符 #包装类型 #深拷贝和浅拷贝 #如何判断一个对象是空对象
JavaScript中的数据类型 JavaScript中的数据类型 原始数据类型:String、Number、Boolean、Null、Undefiend、Symbol、BigInt 引用数据类型:Array、Function、Object、RegExp、Date 原始数据类型 原始数据类型的值是不可变的,一旦创建就不能直接修改其内容。当对原始类型的变量进行赋值或者传递时,是按值传递,会复制一份独立的数据。 String:具有 2025-02-15 JavaScript #数组 #七大原始数据类型 #函数 #正则对象 #日期对象