当前位置: 首页 > 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:

http://www.lryc.cn/news/29140.html

相关文章:

  • 2D图像处理:Qt + Opencv使用光度立体法检测Halcon中提供的缺陷图像
  • 怎样用sql去查一个订单表中一个店铺一段时间的营业收入的环比
  • SpringSecurity: 默认添加的15个Filter是怎么添加进去的?
  • 学习记录---latent code 潜在编码
  • Cesium三维数据格式以及生产流程详解(glb,osgb,obj,bim,ifc)等
  • 2023年备考信息安全工程师每日知识点(1)
  • Unity记录3.1-地图-TileMap简单使用、鼠标拖动放置Tile
  • Decoupled Knowledge Distillation(CVPR 2022)原理与代码解析
  • IronWebScraper 2023.2.2 Crack
  • 【2.1 golong中条件语句if】
  • Scala编程(第四版)
  • aws apigateway 基础概念和入门示例
  • 2023年“中银杯”安徽省职业院校技能大赛网络安全A模块全过程解析
  • 【Python入门第二十四天】Python 迭代器
  • Qt扫盲-CMake 使用概述
  • minGW-w64配置途径
  • 程序、进程、线程的基本概念、信号量的PV操作、前趋图的PV操作
  • 设计测试用例
  • CSS 选择器以及CSS常用属性
  • 测试概念及模型
  • 王道计算机组成原理课代表 - 考研计算机 第六章 总线 究极精华总结笔记
  • 【C++升级之路】第八篇:string类
  • mysql性能优化_原理_课程大纲
  • 项目管理报告工具的功能
  • centos8上安装hbase
  • linux 进程及调度基础知识
  • Python计算分类问题的评价指标(准确率、精确度、召回率和F1值,Kappa指标)
  • 51单片机LCD1602的使用
  • [深入理解SSD系列综述 1.5] SSD固态硬盘参数图文解析_选购固态硬盘就像买衣服?
  • zio1升级到zio2踩坑和总结