沐游虞笔记
  • 前端面试题

    • HTML面试题汇总(无答案)
    • HTML面试题汇总
    • CSS 面试题汇总(无答案)
    • CSS 面试题汇总
    • javascript 面试题汇总(无答案)
    • javascript 面试题汇总
    • promise 面试题(无答案)
    • promise 面试题
    • 浏览器面试题汇总(无答案)
    • 浏览器面试题汇总
    • 网络面试题汇总(无答案)
    • 网络面试题汇总
    • 工程化面试题汇总(无答案)
    • 工程化面试题汇总
    • VUE面试题汇总(无答案)
    • VUE面试题汇总
  • 直播课文件

    • 静态页面学习指导
    • 属性的计算过程
    • 层叠继承规则总结
    • BFC
    • JS基础知识回顾
    • DOM 事件的传播机制
    • DOM 事件的注册和移除
    • 阻止事件默认行为
    • 基础领航考试题
    • 基础领航考试题(答案)
    • 2024前端发展
    • JS核心概念学习指导
    • 第三方库与工程化学习指导
    • Vue入门学习指导
    • vue进阶学习指导
    • 前端性能优化
  • 笔面试环节知识讲解

    • 目录
    • 图像处理
    • 图像处理(面试)
    • Webpack构建优化
    • Webpack构建优化(面试)
    • TTS性能优化
    • TTS性能优化(面试)
    • 实时协作
    • 实时协作(面试)
    • 网页复制图片到剪贴板
    • 网页复制图片到剪贴板(面试)
    • vite插件
    • vite插件(面试)
    • 表单数据同步与保持
    • 表单数据同步与保持(面试)
    • 优化虚拟列表
    • 优化虚拟列表(面试)
    • 微前端解决巨石应用
    • 微前端解决巨石应用(面试)
    • DNS解析与优化
    • DNS解析与优化(面试)
    • 前端监控
    • 前端监控(面试)
    • 12.跨标签页通信
    • 12.跨标签页通信(面试)
    • 13.Vite相关优化
    • 13.Vite相关优化(面试)
    • 14.计时器节流问题
    • 14.计时器节流问题(面试)
    • 15.多文件预览支持
    • 15.多文件预览支持(面试)
    • 16.defer优化白屏时间
    • 16.defer优化白屏时间(面试)
  • Vue3整体变化
  • Vue2响应式回顾
  • Vue3响应式变化
  • nextTick实现原理
  • 两道代码题
  • Vue运行机制
  • 渲染器核心功能
  • 事件绑定与更新
  • computed面试题
  • watch面试题
  • 图解双端diff
  • 图解快速dff
  • 最长递增子序列
  • 模板编译器
  • 模板编译提升
  • 组件name作用
  • 路由传参方式
  • 基础篇

    • 序章React介绍
    • JSX基础语法
    • React基本介绍
    • 表单
    • 生命周期
    • 组件与事件绑定
    • 组件状态与数据传递
    • Hooks
    • React--redux介绍
    • React-router介绍
  • 就业篇

    • 属性默认值和类型验证
    • 高阶组件
    • Ref
    • Context
    • Render Props
    • Portals
    • 错误边界
    • 组件渲染性能优化
    • 前端框架的理解
    • Reacti和Vue描述页面的区别
    • 前端框架的分类
    • 虚拟DoM
    • React整体架构
    • React渲染流程
    • Fiber双缓冲
    • MessageChannel
    • Scheduleri调度普通任务
    • Scheduleri调度延时任务
    • 最小堆
    • React中的位运算
    • beginWork工作流程
    • completeWork工作流程
    • 图解diff算法
    • commit工作流程
    • lane模型
    • React中的事件
    • Hooks原理
    • useStateuseReducer.
    • effect相关hook
    • useCallbackuseMemo
    • useRef
    • Update
    • 性能优化策略之eagerState
    • 性能优化策略之bailout
    • bailoutContextAPl
    • 性能优化对日常开发启示
  • 前端监控概述
  • 错误监控
  • 数据上报
  • 页面性能监控
  • 用户行为收集与埋点
  • CSS3手册
  • HTML5手册
  • JavaScript语言提升

    • es补充
    • 事件循环
    • promise基础
    • Promise的链式调用
    • Promise的静态方法
    • async和await
    • Promise相关面试题
  • 网络

    • 客户端与服务器
    • 关于 Apifox 的使用
  • git文档
  • 工程化

    • CommonJS
    • ES module
    • npm文档(包管理)
    • Lass笔记
    • webpack工具
  • canvas详解
  • uinapp笔记
  • 自动化测试
  • oauth2令牌

    • 认识Oauth2
    • 三方应用实现github授权
    • 微信三方应用登录实现
    • 支付宝沙箱支付功能
  • 前端面试题

    • HTML面试题汇总(无答案)
    • HTML面试题汇总
    • CSS 面试题汇总(无答案)
    • CSS 面试题汇总
    • javascript 面试题汇总(无答案)
    • javascript 面试题汇总
    • promise 面试题(无答案)
    • promise 面试题
    • 浏览器面试题汇总(无答案)
    • 浏览器面试题汇总
    • 网络面试题汇总(无答案)
    • 网络面试题汇总
    • 工程化面试题汇总(无答案)
    • 工程化面试题汇总
    • VUE面试题汇总(无答案)
    • VUE面试题汇总
  • 直播课文件

    • 静态页面学习指导
    • 属性的计算过程
    • 层叠继承规则总结
    • BFC
    • JS基础知识回顾
    • DOM 事件的传播机制
    • DOM 事件的注册和移除
    • 阻止事件默认行为
    • 基础领航考试题
    • 基础领航考试题(答案)
    • 2024前端发展
    • JS核心概念学习指导
    • 第三方库与工程化学习指导
    • Vue入门学习指导
    • vue进阶学习指导
    • 前端性能优化
  • 笔面试环节知识讲解

    • 目录
    • 图像处理
    • 图像处理(面试)
    • Webpack构建优化
    • Webpack构建优化(面试)
    • TTS性能优化
    • TTS性能优化(面试)
    • 实时协作
    • 实时协作(面试)
    • 网页复制图片到剪贴板
    • 网页复制图片到剪贴板(面试)
    • vite插件
    • vite插件(面试)
    • 表单数据同步与保持
    • 表单数据同步与保持(面试)
    • 优化虚拟列表
    • 优化虚拟列表(面试)
    • 微前端解决巨石应用
    • 微前端解决巨石应用(面试)
    • DNS解析与优化
    • DNS解析与优化(面试)
    • 前端监控
    • 前端监控(面试)
    • 12.跨标签页通信
    • 12.跨标签页通信(面试)
    • 13.Vite相关优化
    • 13.Vite相关优化(面试)
    • 14.计时器节流问题
    • 14.计时器节流问题(面试)
    • 15.多文件预览支持
    • 15.多文件预览支持(面试)
    • 16.defer优化白屏时间
    • 16.defer优化白屏时间(面试)
  • Vue3整体变化
  • Vue2响应式回顾
  • Vue3响应式变化
  • nextTick实现原理
  • 两道代码题
  • Vue运行机制
  • 渲染器核心功能
  • 事件绑定与更新
  • computed面试题
  • watch面试题
  • 图解双端diff
  • 图解快速dff
  • 最长递增子序列
  • 模板编译器
  • 模板编译提升
  • 组件name作用
  • 路由传参方式
  • 基础篇

    • 序章React介绍
    • JSX基础语法
    • React基本介绍
    • 表单
    • 生命周期
    • 组件与事件绑定
    • 组件状态与数据传递
    • Hooks
    • React--redux介绍
    • React-router介绍
  • 就业篇

    • 属性默认值和类型验证
    • 高阶组件
    • Ref
    • Context
    • Render Props
    • Portals
    • 错误边界
    • 组件渲染性能优化
    • 前端框架的理解
    • Reacti和Vue描述页面的区别
    • 前端框架的分类
    • 虚拟DoM
    • React整体架构
    • React渲染流程
    • Fiber双缓冲
    • MessageChannel
    • Scheduleri调度普通任务
    • Scheduleri调度延时任务
    • 最小堆
    • React中的位运算
    • beginWork工作流程
    • completeWork工作流程
    • 图解diff算法
    • commit工作流程
    • lane模型
    • React中的事件
    • Hooks原理
    • useStateuseReducer.
    • effect相关hook
    • useCallbackuseMemo
    • useRef
    • Update
    • 性能优化策略之eagerState
    • 性能优化策略之bailout
    • bailoutContextAPl
    • 性能优化对日常开发启示
  • 前端监控概述
  • 错误监控
  • 数据上报
  • 页面性能监控
  • 用户行为收集与埋点
  • CSS3手册
  • HTML5手册
  • JavaScript语言提升

    • es补充
    • 事件循环
    • promise基础
    • Promise的链式调用
    • Promise的静态方法
    • async和await
    • Promise相关面试题
  • 网络

    • 客户端与服务器
    • 关于 Apifox 的使用
  • git文档
  • 工程化

    • CommonJS
    • ES module
    • npm文档(包管理)
    • Lass笔记
    • webpack工具
  • canvas详解
  • uinapp笔记
  • 自动化测试
  • oauth2令牌

    • 认识Oauth2
    • 三方应用实现github授权
    • 微信三方应用登录实现
    • 支付宝沙箱支付功能
  • 静态页面项目学习指导

    • 属性的计算过程
    • 层叠继承规则总结
    • BFC
    • 静态页面学习指导
  • JS基础知识回顾

    • JS基础知识回顾
      • 上一章知识回顾
      • 本章学习指导
        • 数据的表达
        • JS数据类型
        • 数据运算
        • 数据流程
        • 流程切割
  • JS核心概念学习指导

  • 标准库与web api

    • DOM 事件的传播机制
    • DOM 事件的注册和移除
    • 阻止事件默认行为
  • 经典案例学习指导

  • 基础领航考试

    • 基础领航考试题
    • 答案
  • HTML+CSS语言提升学习指导

  • Javascript语言提升

    • 2024前端发展
  • 网络与git学习指导

  • 第三方库与工程化学习指导

    • 第三方库与工程化学习指导
  • Vue入门学习指导

    • Vue入门学习指导
  • vue进阶学习指导

    • vue进阶学习指导
  • vue组件库学习指导

    • 前端性能优化
  • 入门到实战收官总结

    • MVVM
  • 38期直播课
  • JS基础知识回顾
luzhichang
2024-04-01
目录

JS基础知识回顾

# 上一章知识回顾

上一章的主要内容是小米商城

跟着视频一起操作,做完之后,最好自己再实现一次(直接用设计原稿自己实现)

  • 主要是熟悉CSS
  • 精通有点难度,但是不需要太过于纠结(对于初学者同学来说,性价比不高)

# 本章学习指导

# 数据的表达

变量

var i = 1;
var i = "haha";
var 声明的变量没有块级作用域
var 声明会进行提升
let 变量
const 常量

最好能使用const,就使用const声明变量
ESM模块化 通过export导出变量的时候,会出现问题 有些人会把导出变量写成一个函数
const name = () => "jack";
export name;
name();

还有TS书写习惯的问题
let n1:number = 12; // ts有类型推导,number
const n2:12 = 12; // ts有类型推导缩窄,字面量类型12
const arr = [1,2,3];

const obj = {
  name:'jack',
  age:18
}

js中声明对象,非常简单,可以直接创建一个对象,不像传统的面向对象的语言java。。。c#,必须先创建一个类,然后从类实例化对象

其实可以分成两大类

1、先创建一个类,然后从类实例化(new)对象

2、通过原型对象来产生对象(js的class只是一个语法糖)

# JS数据类型

原始(基础)类型

  • number

    所有语言中(采用的都是IEEE754标准),浮点数是没有办法计算精确的

    后端会有long类型,这个long类型所表述的范围比number大,以前前端是表述不了这个long类型的,以前为了处理这个问题,还会专门去下载一个包,bignumber---大概...名字有点模糊了

  • bigint(ES2020)(ES10)为了表述64位整数的新类型

    • 1000n
    • 不能和常规的number做计算
    • 但是可以和常规的number类型做比较
  • string

    • 单引号,双引号 初学者稍微注意一下

    • const str = "我是'帅哥'"
      
    • sdfsdfsd${name} 字符串模板

  • boolean true false

  • null: 没有

  • undefined: 尚未定义

  • symbol:符号类型,主要是为了解决对象键名不被覆盖的问题,ES6出现的新语法

  • const a = symbol('a');
    const b = symbol('a');
    const obj = {
      name:"aaa",
      name:"bbb",
      a:'cc',
      [symbol("a")]:"ddd"
    }
    

引用类型

  • object
  • array
  • function
  • 历史依赖问题 typeof null // object

什么是值,什么是引用。传递地址

const obj1 = {name:'jack'}
function fn(obj){
  let obj2 = obj;
	obj2.name = 'rose'
}
fn(obj1);
console.log(obj1);

# 数据运算

  • 算数运算(+,-,*,/, %)
  • 逻辑运算 (&& || ! && || 一般都是叫做短路运算)
  • 比较运算(> >= < <= == === != !==)
  • 位运算(& | >> << ~)
  • 其他运算符(, ; . ? 😃

# 数据流程

整个数据流程分成3中

  • 顺序结构
  • 分支结构
    • 单分支 if
    • 双分支 if...else
    • 多分支 if else if ... else if ... else switch(要注意穿透的问题break)
  • 循环结构
    • for
    • do...while
    • while

# 流程切割

  • 函数

  • 函数是js中的一等公民

  • 什么是函数签名,什么是参数,什么是返回值类型,什么是返回值

  • function fn(a, b){
      return a + b;
    }
    
静态页面学习指导
DOM 事件的传播机制

← 静态页面学习指导 DOM 事件的传播机制→

Theme by Vdoing | Copyright © 2021-2024 蜀ICP备2024068710号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式