2024/4/24总结

js进阶

作用域

作用域分为全局作用域局部作用域

局部作用域

分为块级作用域( 就是使用 {} 包裹起来的代码称为代码块 )和函数作用域( 顾名思义就是函数包裹的部分 )

let 和  const 声明的常量会产生块级作用域 var不会产生块作用域

作用域链就是最底层的查找机制,其实就是就近原则。

垃圾回收机制

内存的生命周期

  • 内存分配  声明变量、函数、对象的时候,系统会自动分配内存
  • 内存使用  读写内存、也就是使用变量、函数等
  • 内存回收  使用完毕,由垃圾回收器自动回收

全局变量不会回收

局部变量会自动回收

内存泄漏  程序中分配的内存由于某种原因程序未释放或无法释放叫做内存泄漏

  • 栈:基本数据类型,由操纵系统自动分配函数的参数值,局部变量
  • 堆:复杂数据类型,由垃圾回收机制回收
算法说明:
  • 引用计数法

如果没有对象对它进行引用,那么就会被回收

缺点 :嵌套引用会出问题 ,如果俩个对象相互引用,垃圾回收器不会回收,从而导致内存泄漏。

  • 标记清除法

从根部定期扫描,凡是能到达的对象,都是还需要使用的,无法到达的标记为不再使用,并且进行回收

闭包

一个函数对周围状态的引用捆绑在一起,内层函数中访问到其外层函数的作用域

作用:封闭数据、提供操作,外部可以访问函数内部的变量

变量提升

它允许在变量声明之前即被访问(仅仅存在于 var 声明的变量)

变量在 var 声明之前被访问,变量的值为 undefined ,变量提升只存在当前作用域下。

函数也是可以先声明之前就被调用

函数表达式不能,会出问题

动态参数 arguments 

是函数内部内置的伪数组变量,只存在函数中,作用是动态获取函数的实参。

剩余参数

...变量名字

... 是语法符号,置于最末函数形参之前,用于获取 多余 的实参

借助   ... 获取的剩余实参,是个真数组,开发中,提倡多使用 剩余参数

箭头函数的  this   不会创建自己的 this  ,它只会从自己的作用域脸的上一层沿用  this  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/2860.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

maya显示隐藏 动画长度

目录 大纲视图,选择节点,H控制显示与隐藏 使用Viewport显示/隐藏 脚本控制显示/隐藏 获取动画长度python脚本 大纲视图,选择节点,H控制显示与隐藏 使用Viewport显示/隐藏 这是最直观的方法,适合临时隐藏Mesh以便专…

矩阵连乘算法

矩阵连乘&#xff1a; #include<iostream> #define inf 0x7fffffff using namespace std; int a[256] { 0 };//存储矩阵的行和列 int m[256][256] { 0 };//存储i到j的最少计算次数 int s[256][256] { 0 };//存储i到j的中转站k void m_print(int i, int j) {if (i …

Kubectl常见排查pod问题命令

一.查看命名空间pod及其日志 #查看命名空间pod kubectl get pods -n <命名空间名称> #该命令不加-n命名空间名称&#xff0c;默认是查看default命名空间的pod#查看对应pod的日志kubectl logs -f <pod-name> -n <namespace>#同样的如果查看的是default命名空…

如何在OpenWRT上配置SFTP远程文件传输

如何在OpenWRT上配置SFTP远程文件传输 OpenWRT 是一款广泛使用的开源路由器固件&#xff0c;它能够让普通的家用路由器具备高级路由功能&#xff0c;提供更多自定义和优化选项。本文将介绍如何在OpenWRT上配置SFTP&#xff08;SSH文件传输协议&#xff09;服务&#xff0c;以便…

简单工厂、工厂方法、抽象工厂对比

简单工厂、工厂方法和抽象工厂是三种常见的工厂设计模式&#xff0c;它们在软件设计中各有其独特的应用场景和优缺点。因为三种设计模式都属于工厂模式&#xff0c;在实际应用中可能存在误用的场景&#xff0c;这里对其做下对比&#xff0c;以便更好的理解这三种设计模式。 简…

.NET周刊【4月第2期 2024-04-21】

国内文章 他来了他来了&#xff0c;.net开源智能家居之苹果HomeKit的c#原生sdk【Homekit.Net】1.0.0发布&#xff0c;快来打造你的私人智能家居吧 https://www.cnblogs.com/hezp/p/18142099 三合是一位不喜欢动态编程语言的开发者&#xff0c;对集成米家智能家居到苹果HomeK…

Chisel3 入门 (1)

Chisel3 入门(1) 文章目录 Chisel3 入门(1)Chisel3 基本数据类型定义变量创建变量、常量 布尔逻辑类型转换Analog/BlackBox 类型 Chisel3 基本数据类型 chisel提供三种类型数据类型描述信号连接、组合逻辑、寄存器&#xff1a; Bits: 可表示 一个bit 向量UInt: 扩展自Bits, 表…

【Ant-Desgin-React 穿梭框】表格穿梭框,树穿梭框的用法

Antd Desgin 穿梭框 普通用法高级用法-表格穿梭框组件高级用法-树穿梭框组件 普通用法 /* eslint-disable no-unused-vars */ import React, { useEffect, useState } from react import { Space, Transfer } from antd// Antd的穿梭框组件Mock数据 const mockData Array.fro…

西安站开营!AI 编码助手通义灵码帮大学生“整活儿”

如何更好地与 AI 为伴&#xff0c;做时代的先进开发者&#xff1f;4 月 17 日&#xff0c;阿里云推出的 AI 编程助手通义灵码与云工开物“高校训练营”走进西安多所高校开启实操培训&#xff0c;结合 AI 辅助编程的发展背景、通义灵码的具体能力和应用实操&#xff0c;帮助在校…

全世界IT人苦竞业久矣!美国FTC宣布全面废除员工竞业协议

2023 年 1 月&#xff0c;美国联邦贸易委员会&#xff08;FTC&#xff09;发布声明称&#xff0c;拟在全国范围禁止用人单位与雇员签订竞业禁止性条款。当地时间 4 月 23 日&#xff0c;FTC 宣布全面禁止所有员工&#xff08;包括高级管理人员&#xff09;签署新的竞业禁止协议…

js生成不同的阅读数分配到每一篇上面,不会因为刷新而变动

js生成不同的阅读数分配到每一篇上面,不会因为刷新而变动 {%- for article in blog.articles -%}<div class"blog-articles__article article">{%- render article-card,article: article,media_height: section.settings.image_height,media_aspect_ratio: a…

在Ubuntu上配置CUDA基础环境

一、安装驱动 1、检查硬件支持的驱动列表&#xff1a; # 桌面版本 sudo ubuntu-drivers list # 服务器版本 sudo ubuntu-drivers list --gpgpu可以看到这样的驱动名称列表&#xff1a; nvidia-driver-470 nvidia-driver-470-server nvidia-driver-535 nvidia-driver-535-ope…

xilinx Mailbox 中的ipi message地址计算方式

适用于openAmp mailbox ipi id对应的ipi message地址计算方式 官方openamp硬件配置解析 OpenAMP Base Hardware Configurations - Xilinx Wiki - Confluence openamp官方设备树 meta-openamp/meta-xilinx-tools/recipes-bsp/device-tree/files/zynqmp-openamp.dtsi at rel-v2…

SpringBoot+Vue开发记录(四)

说明&#xff1a; 本篇文章的主要内容是软件架构以及项目的前端Vue创建 一、软件架构 我道听途说的&#xff0c;听说这个东西很关键很重要什么的。 软件架构&#xff08;software architecture&#xff09;是一个系统的草图,是一系列相关的抽象模式&#xff0c;用于指导大型软…

AI商业智能的一些分享

本文主要讲AI商业相关的&#xff08;特别是营销相关的&#xff09;一些知识点&#xff0c;比较零散。 简单总结 AI商业智能&#xff1a; 1&#xff09;将人员经验抽象化为算法规则&#xff0c; 2)打造数据驱动的精益运营能力&#xff0c; 3)长期保持价格竞争力并将商品毛利让…

Day 21 LAMP架构和DNS域名

LAMP架构简介 针对不同的后端开发语言&#xff0c;使用不同的架构&#xff0c;后端项目开发语言有&#xff1a;Java&#xff0c;PHP&#xff0c;Python...... 针对于PHP项目 LAMP架构 LinuxApacheMysql/MariadbPhp LNMP架构 LinuxNginxMysql/MariadbPhp 针对于Java项目 w…

IntelliJ IDEA个人可一直使用方法参考

IntelliJ IDEA使用方法 1.下载最新的 IDEA 2021.2.2 版本安装包 https://www.jetbrains.com/idea/download/ 2.先卸载老版本的 IDEA 3.安装新版本&#xff0c;进行激活—勾选 Evaluate for free, 点击 Evaluate&#xff0c; 先试用30天: 4.随便新建个Java工程&#xff0c;然后…

国密SSL证书在等保、关保、密评合规建设中的应用

在等保、关保、密评等合规建设中&#xff0c;网络和通信安全方面的建设是非常重要的部分&#xff0c;需要实现加密保护和安全认证&#xff0c;确保传输数据机密性、完整性以及通信主体可信认证。国密SSL证书应用于等保、关保和密评合规建设中&#xff0c;不仅能够提升网络信息系…

【C++】vector常用函数总结及其模拟实现

目录 一、vector简介 二、vector的构造 三、vector的大小和容量 四、vector的访问 五、vector的插入 六、vector的删除 简单模拟实现 一、vector简介 vector容器&#xff0c;直译为向量&#xff0c;实践中我们可以称呼它为变长数组。 使用时需添加头文件#include<v…

【Burpsuite靶场】XSS专题精讲

【个人】&#xff1a;NEUQ大一学生 【专业】&#xff1a;通信工程 (Communication Engineering) 【个人方向】&#xff1a;网安、开发双管齐下 【座右铭】&#xff1a;真正的英雄主义,就是看清生活的真相后依然热爱生活 -- 罗曼.罗兰 一、认识XSS&#xff08;跨站脚本攻击&…