当前位置: 首页 > news >正文

JavaScript核心高级内容复习1

本节概述

数据类型的分类和判断

  • 基本(值)类型
    • Number ----- 任意数值 -------- typeof
    • String ----- 任意字符串 ------ typeof
    • Boolean ---- true/false ----- typeof
    • undefined — undefined ----- typeof/===
    • null -------- null ---------- ===
  • 对象(引用)类型
    • Object ----- typeof/instanceof
    • Array ------ instanceof
    • Function ---- typeof

数据,变量, 内存的理解

  • 什么是数据?
    • 在内存中可读的, 可传递的保存了特定信息的’东东’
    • 一切皆数据, 函数也是数据
    • 在内存中的所有操作的目标: 数据
  • 什么是变量?
    • 在程序运行过程中它的值是允许改变的量
    • 一个变量对应一块小内存, 它的值保存在此内存中
  • 什么是内存?
    • 内存条通电后产生的存储空间(临时的)
    • 一块内存包含2个方面的数据
      • 内部存储的数据
      • 地址值数据
    • 内存空间的分类
      • 栈空间: 全局变量和局部变量
      • 堆空间: 对象
  • 内存,数据, 变量三者之间的关系
    • 内存是容器, 用来存储不同数据
    • 变量是内存的标识, 通过变量我们可以操作(读/写)内存中的数据

对象的理解和使用

  • 什么是对象?
    • 多个数据(属性)的集合
    • 用来保存多个数据(属性)的容器
  • 属性组成:
    • 属性名 : 字符串(标识)
    • 属性值 : 任意类型
  • 属性的分类:
    • 一般 : 属性值不是function 描述对象的状态
    • 方法 : 属性值为function的属性 描述对象的行为
  • 特别的对象
    • 数组: 属性名是0,1,2,3之类的索引
    • 函数: 可以执行的
  • 如何操作内部属性(方法)
    • .属性名

函数的理解和使用

  • 什么是函数?
    • 用来实现特定功能的, n条语句的封装体
    • 只有函数类型的数据是可以执行的, 其它的都不可以
  • 为什么要用函数?
    • 提高复用性
    • 便于阅读交流
  • 函数也是对象
    • instanceof Object===true
    • 函数有属性: prototype
    • 函数有方法: call()/apply()
    • 可以添加新的属性/方法
  • 函数的3种不同角色
    • 一般函数 : 直接调用
    • 构造函数 : 通过new调用
    • 对象 : 通过.调用内部的属性/方法
  • 函数中的this
    • 显式指定谁: obj.xxx()
    • 通过call/apply指定谁调用: xxx.call(obj)
    • 不指定谁调用: xxx() : window
    • 回调函数: 看背后是通过谁来调用的: window/其它
  • 匿名函数自调用:
    (function(w, obj){//实现代码
    })(window, obj)
    
    • 专业术语为: IIFE (Immediately Invoked Function Expression) 立即调用函数表达式
  • 回调函数的理解
    • 什么函数才是回调函数?
      • 你定义的
      • 你没有调用
      • 但它最终执行了(在一定条件下或某个时刻)
    • 常用的回调函数
      • dom事件回调函数
      • 定时器回调函数
      • ajax请求回调函数(后面讲解)
      • 生命周期回调函数(后面讲解)

    详情讲解

数据类型1:

<!--
1. 分类(2大类)* 基本()类型* Number: 任意数值* String: 任意文本* Boolean: true/false* undefined: undefined* null: null* 对象(引用)类型* Object: 任意对象* Array: 特别的对象类型(下标/内部数据有序)* Function: 特别的对象类型(可执行)
2. 判断* typeof:* 可以区别: 数值, 字符串, 布尔值, undefined, function* 不能区别: null与对象, 一般对象与数组* instanceof* 专门用来判断对象数据的类型: Object, Array与Function* ===* 可以判断: undefinednull
--><script type="text/javascript">// typeof: 返回的是数据类型的字符串表达形式//1. 基本类型var aconsole.log(a, typeof a, a===undefined) // undefined 'undefined' trueconsole.log(a===typeof a) // falsea = 3console.log(typeof a === 'number')a = 'atguigu'console.log(typeof a === 'string')a = trueconsole.log(typeof a === 'boolean')a = nullconsole.log(a===null) // trueconsole.log(typeof a) // 'object'console.log('--------------------------------')//2. 对象类型var b1 = {b2: [2, 'abc', console.log],b3: function () {console.log('b3()')}}console.log(b1 instanceof Object, typeof b1) // true 'object'console.log(b1.b2 instanceof Array, typeof b1.b2) // true 'object'console.log(b1.b3 instanceof Function, typeof b1.b3) // true 'function'console.log(typeof b1.b2[2]) // 'function'console.log(b1.b2[2]('abc')) // 'abc' undefined
</script

数据类型2:

<!--
1. undefinednull的区别?* undefined代表没有赋值* null代表赋值了, 只是值为null
2. 什么时候给变量赋值为null?* var a = null //a将指向一个对象, 但对象此时还没有确定* a = null //让a指向的对象成为垃圾对象
3. 严格区别变量类型与数据类型?* js的变量本身是没有类型的, 变量的类型实际上是变量内存中数据的类型* 变量类型:* 基本类型: 保存基本类型数据的变量* 引用类型: 保存对象地址值的变量* 数据对象* 基本类型* 对象类型
--><script type="text/javascript">// 1. undefined与null的区别?var a1var a2 = nullconsole.log(a1, a2)// 2. 什么时候给变量赋值为null呢?//初始var a3 = null//中间var name = 'Tom'var age = 12a3 = {name: name,age: age}//结束a3 = null</script>

数据_变量_内存1:

相关文章:

JavaScript核心高级内容复习1

本节概述 数据类型的分类和判断 基本(值)类型 Number ----- 任意数值 -------- typeofString ----- 任意字符串 ------ typeofBoolean ---- true/false ----- typeofundefined — undefined ----- typeof/null -------- null ---------- 对象(引用)类型 Object ----- typeof…...

2D图像处理:Qt + Opencv使用光度立体法检测Halcon中提供的缺陷图像

文章目录 不需知道光源方向一、光度立体法(后续有时间在查资料研究)1.1 问题1:Slants和Tilts的理解(暂时是理解的)1.2 问题1:Gradient通道数为1,为何像素点对应的值会有两个?1.3 问题2:F(r,c)=(u(r,c),v(r,c)) 关于高斯曲率和平均曲率如何计算的?二、非标定光源实现光…...

怎样用sql去查一个订单表中一个店铺一段时间的营业收入的环比

一&#xff1a;思路 要查询一个订单表中一个店铺一段时间的营业收入的环比&#xff0c;可以按照以下步骤进行操作&#xff1a; 使用SELECT语句选择需要的数据列&#xff0c;如订单日期和订单金额&#xff0c;以及店铺名称列。 使用WHERE语句过滤出指定店铺和时间段的订单数据…...

SpringSecurity: 默认添加的15个Filter是怎么添加进去的?

总的流程分为两部分&#xff0c;一是先用Map把configurer收集起来&#xff0c;然后再把maper中所有的configurer应用到HttpSecurity对象。 其中的map位于AbstractConfiguredSecurityBuilder这个类。 private final LinkedHashMap<Class<? extends SecurityConfigurer&l…...

学习记录---latent code 潜在编码

文章目录参考文献1. 什么是潜在编码&#xff1f;2.什么是潜在空间&#xff1f;3.同类潜在编码的相似性4.潜在编码的应用4.1 Antoencoders4.2 Generative models5.结论个人学习总结&#xff0c;持续更新中……参考文献 [1] 快速理解深度学习中的latent code潜在编码 1. 什么是…...

Cesium三维数据格式以及生产流程详解(glb,osgb,obj,bim,ifc)等

最近收到私信问我在cesium上展示的一些三维数据是如何生产和处理的,这篇文章就给大家一次性讲个透彻。 首先我们来做做分类。市面上能接触到的,常见的,cesium上支持展示的三维数据大致分为以下几种: 1.倾斜摄影(osgb,obj) 2.点云数据(las,pts) 3.手工模型(gltf,…...

2023年备考信息安全工程师每日知识点(1)

信息安全工程师在软考中属于中级认证&#xff0c;难度尚可&#xff0c;如果从今天开始学的话&#xff0c;肯定来得及 作者简介&#xff1a; 吉林师范大学网络空间安全的一名普通的大一学生已于2022年拿到华为阿里腾讯三家认证吉师信网中心的一名可怜打工人华为MindSpore截至目…...

Unity记录3.1-地图-TileMap简单使用、鼠标拖动放置Tile

文章首发及后续更新&#xff1a;https://mwhls.top/4456.html&#xff0c;无图/无目录/格式错误/更多相关请至首发页查看。 新的更新内容请到mwhls.top查看。 欢迎提出任何疑问及批评&#xff0c;非常感谢&#xff01; 汇总&#xff1a;Unity 记录 上章的课程接下来是巡逻的敌人…...

Decoupled Knowledge Distillation(CVPR 2022)原理与代码解析

paper&#xff1a;Decoupled Knowledge Distillationcode&#xff1a;https://github.com/megvii-research/mdistiller/blob/master/mdistiller/distillers/DKD.py背景与基于响应logits-based的蒸馏方法相比&#xff0c;基于特征feature-based的蒸馏方法在各种任务上的表现更好…...

IronWebScraper 2023.2.2 Crack

关于 .NET 的 IronWebScraper 用于从 HTML Web 应用程序中提取干净的结构化数据的 C# 框架。 IronWebScraper for .NET 是一个 C# 网络抓取库&#xff0c;它允许开发人员模拟和自动化人类浏览行为&#xff0c;以从 Web 应用程序中提取内容、文件和图像作为本机 .NET 对象。Iron…...

【2.1 golong中条件语句if】

1. 条件语句if 1.1.1. Go 语言条件语句&#xff1a; 条件语句需要开发者通过指定一个或多个条件&#xff0c;并通过测试条件是否为 true 来决定是否执行指定语句&#xff0c;并在条件为 false 的情况在执行另外的语句。 Go 语言提供了以下几种条件判断语句&#xff1a; 1.1…...

Scala编程(第四版)

Scala编程可伸缩的语言面向对象与函数式编程Scala优势Scala是兼容的可伸缩的语言 1、适合构建将java组件组装在一起的脚本 2、用于编写可复用组件&#xff0c;并讲这些组件构建成大型框架 Scala是一门综合面向对象和函数式编程概念的静态类型编程语言 面向对象与函数式编程 面…...

aws apigateway 基础概念和入门示例

参考资料 https://docs.aws.amazon.com/zh_cn/apigateway/latest/developerguide/getting-started.html apigateway基础理解 apigateway的核心概念 apigateway&#xff0c;基础服务用来管理接口的创建&#xff0c;部署和管理restapi&#xff0c;http资源和方法的集合&#…...

2023年“中银杯”安徽省职业院校技能大赛网络安全A模块全过程解析

A模块基础设施设置/安全加固(200分) 一、项目和任务描述: 假定你是某企业的网络安全工程师,对于企业的服务器系统,根据任务要求确保各服务正常运行,并通过综合运用登录和密码策略、流量完整性保护策略、事件监控策略、防火墙策略等多种安全策略来提升服务器系统的网络安全…...

【Python入门第二十四天】Python 迭代器

Python 迭代器 迭代器是一种对象&#xff0c;该对象包含值的可计数数字。 迭代器是可迭代的对象&#xff0c;这意味着您可以遍历所有值。 从技术上讲&#xff0c;在 Python 中&#xff0c;迭代器是实现迭代器协议的对象&#xff0c;它包含方法 iter() 和 next()。 迭代器 V…...

Qt扫盲-CMake 使用概述

CMake 使用概述一、概述二、创建Qt CMake 项目三、简单介绍1. 引入Qt的库2.Qt CMake 引入第三方库3. Qt CMake 项目目录四、使用案例一、概述 CMake是一个简化跨不同平台开发项目的构建过程的工具。对C来说其实就是生成一个文件&#xff0c;文件里面描述了&#xff0c;怎么组织…...

minGW-w64配置途径

文章目录1 GNU、GCC与minGW2 minGW当前下载方式3 minGW-w64配置途径Step1Step2Step31 GNU、GCC与minGW GNU这个名字是GNUs Not Unix的递归首字母缩写&#xff0c;它的发音为[gnoo]&#xff0c;只有一个音节&#xff0c;发音很像"grew"&#xff0c;但需要把其中的r音替…...

程序、进程、线程的基本概念、信号量的PV操作、前趋图的PV操作

程序、进程、线程的基本概念 进程控制块PCB的组织方式&#xff1a;顺序方式、链接方式、索引方式、Hash。 在JVM 中进程与线程关系 进程&#xff1a; 拥有资源的独立单位。可以被独立调度。可以分配资源。 线程&#xff1a; 可以被独立调度。同一进程中的多个线程&#xff0c;…...

设计测试用例

目录 测试用例的基本要素 测试用例的设计方法 功能需求测试分析 非功能需求测试分析 设计测试用例的具体方法 测试用例的基本要素 测试用例&#xff08;Test Case&#xff09;是为了实施测试而向被测试的系统提供的一组集合&#xff0c;这组集合包含&#xff1a;测试环境…...

CSS 选择器以及CSS常用属性

目录 &#x1f407;今日良言:可以不光芒万丈,但不要停止发光 &#x1f42f;一、写CSS的三种方法 &#x1f42f;二、CSS选择器的常见用法 &#x1f42f;三、CSS常用属性 &#x1f407;今日良言:可以不光芒万丈,但不要停止发光 &#x1f42f;一、写CSS的三种方法 CSS的基本语…...

iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘

美国西海岸的夏天&#xff0c;再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至&#xff0c;这不仅是开发者的盛宴&#xff0c;更是全球数亿苹果用户翘首以盼的科技春晚。今年&#xff0c;苹果依旧为我们带来了全家桶式的系统更新&#xff0c;包括 iOS 26、iPadOS 26…...

Docker 运行 Kafka 带 SASL 认证教程

Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明&#xff1a;server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...

【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)

服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...

使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装

以下是基于 vant-ui&#xff08;适配 Vue2 版本 &#xff09;实现截图中照片上传预览、删除功能&#xff0c;并封装成可复用组件的完整代码&#xff0c;包含样式和逻辑实现&#xff0c;可直接在 Vue2 项目中使用&#xff1a; 1. 封装的图片上传组件 ImageUploader.vue <te…...

镜像里切换为普通用户

如果你登录远程虚拟机默认就是 root 用户&#xff0c;但你不希望用 root 权限运行 ns-3&#xff08;这是对的&#xff0c;ns3 工具会拒绝 root&#xff09;&#xff0c;你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案&#xff1a;创建非 roo…...

DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”

目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...

ip子接口配置及删除

配置永久生效的子接口&#xff0c;2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...

Selenium常用函数介绍

目录 一&#xff0c;元素定位 1.1 cssSeector 1.2 xpath 二&#xff0c;操作测试对象 三&#xff0c;窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四&#xff0c;弹窗 五&#xff0c;等待 六&#xff0c;导航 七&#xff0c;文件上传 …...

作为测试我们应该关注redis哪些方面

1、功能测试 数据结构操作&#xff1a;验证字符串、列表、哈希、集合和有序的基本操作是否正确 持久化&#xff1a;测试aof和aof持久化机制&#xff0c;确保数据在开启后正确恢复。 事务&#xff1a;检查事务的原子性和回滚机制。 发布订阅&#xff1a;确保消息正确传递。 2、性…...

6个月Python学习计划 Day 16 - 面向对象编程(OOP)基础

第三周 Day 3 &#x1f3af; 今日目标 理解类&#xff08;class&#xff09;和对象&#xff08;object&#xff09;的关系学会定义类的属性、方法和构造函数&#xff08;init&#xff09;掌握对象的创建与使用初识封装、继承和多态的基本概念&#xff08;预告&#xff09; &a…...