JavaScript高级day01【WebStrom安装、数据类型分类及判断、数据-内存-变量】

笔记、视频、源码:JavaScript(基础、高级)笔记汇总表【尚硅谷JavaScript全套教程完整版】

目录

P1 01.尚硅谷_JS高级_准备 07:07

WebStrom 下载及安装

1、WebStorm 卸载

2、WebStrom 下载(官网)

3、WebStrom 下载(百度网盘)

Xmind 思维导图

WebStorm 导入文件

P2 02.尚硅谷_JS高级_数据类型 40:43

数据类型 分类

数据类型 判断

P3 03.尚硅谷_JS高级_相关问题 20:31

实例

1. undefined与null的区别?

2. 什么时候给变量赋值为null呢?

3. 严格区别变量类型与数据类型?

P4 04.尚硅谷_JS高级_数据_变量_内存 47:39

1. 什么是数据?

2. 什么是内存?

3. 什么是变量?

4. 内存、数据、变量三者之间的关系。

P5 05.尚硅谷_JS高级_相关问题1 24:22

情况讨论:var a = xxx(赋值操作),a内存中到底保存的是什么?

关于引用变量赋值问题

P6 06.尚硅谷_JS高级_相关问题2 25:38

关于引用变量赋值问题

关于数据传递问题

内存管理

P7 07.尚硅谷_JS高级_对象 23:30

P8 08.尚硅谷_JS高级_函数 15:59

P9 09.尚硅谷_JS高级_回调函数 09:54

P10 10.尚硅谷_JS高级_IIFE 14:49

P11 11.尚硅谷_JS高级_函数中的this 10:50

P12 12.尚硅谷_JS高级_关于语句分号问题 18:38

P13 13.尚硅谷_JS高级_webstorm设置 23:02

P14 14.尚硅谷_JS高级_复习 55:51


P1 01.尚硅谷_JS高级_准备 07:07

WebStrom 下载及安装

哔哩哔哩网站 视频:【分享】WebStorm2020.1安装教程-Windows篇

1、WebStorm 卸载

JavaScript高级day01【WebStrom安装、数据类型分类及判断、数据-内存-变量】_第1张图片 JavaScript高级day01【WebStrom安装、数据类型分类及判断、数据-内存-变量】_第2张图片 JavaScript高级day01【WebStrom安装、数据类型分类及判断、数据-内存-变量】_第3张图片

2、WebStrom 下载(官网)

下载链接

JavaScript高级day01【WebStrom安装、数据类型分类及判断、数据-内存-变量】_第4张图片

JavaScript高级day01【WebStrom安装、数据类型分类及判断、数据-内存-变量】_第5张图片

3、WebStrom 下载(百度网盘)

  • 【链接:https://pan.baidu.com/s/1-iVrlbLbvx8MX4UZT5lIeA   提取码:zjxs】

JavaScript高级day01【WebStrom安装、数据类型分类及判断、数据-内存-变量】_第6张图片

JavaScript高级day01【WebStrom安装、数据类型分类及判断、数据-内存-变量】_第7张图片  JavaScript高级day01【WebStrom安装、数据类型分类及判断、数据-内存-变量】_第8张图片

JavaScript高级day01【WebStrom安装、数据类型分类及判断、数据-内存-变量】_第9张图片  JavaScript高级day01【WebStrom安装、数据类型分类及判断、数据-内存-变量】_第10张图片

JavaScript高级day01【WebStrom安装、数据类型分类及判断、数据-内存-变量】_第11张图片  JavaScript高级day01【WebStrom安装、数据类型分类及判断、数据-内存-变量】_第12张图片

JavaScript高级day01【WebStrom安装、数据类型分类及判断、数据-内存-变量】_第13张图片  

JavaScript高级day01【WebStrom安装、数据类型分类及判断、数据-内存-变量】_第14张图片  JavaScript高级day01【WebStrom安装、数据类型分类及判断、数据-内存-变量】_第15张图片  JavaScript高级day01【WebStrom安装、数据类型分类及判断、数据-内存-变量】_第16张图片

JavaScript高级day01【WebStrom安装、数据类型分类及判断、数据-内存-变量】_第17张图片  JavaScript高级day01【WebStrom安装、数据类型分类及判断、数据-内存-变量】_第18张图片

JavaScript高级day01【WebStrom安装、数据类型分类及判断、数据-内存-变量】_第19张图片  JavaScript高级day01【WebStrom安装、数据类型分类及判断、数据-内存-变量】_第20张图片

JavaScript高级day01【WebStrom安装、数据类型分类及判断、数据-内存-变量】_第21张图片  JavaScript高级day01【WebStrom安装、数据类型分类及判断、数据-内存-变量】_第22张图片

JavaScript高级day01【WebStrom安装、数据类型分类及判断、数据-内存-变量】_第23张图片  JavaScript高级day01【WebStrom安装、数据类型分类及判断、数据-内存-变量】_第24张图片

JavaScript高级day01【WebStrom安装、数据类型分类及判断、数据-内存-变量】_第25张图片  JavaScript高级day01【WebStrom安装、数据类型分类及判断、数据-内存-变量】_第26张图片

JavaScript高级day01【WebStrom安装、数据类型分类及判断、数据-内存-变量】_第27张图片

JavaScript高级day01【WebStrom安装、数据类型分类及判断、数据-内存-变量】_第28张图片  JavaScript高级day01【WebStrom安装、数据类型分类及判断、数据-内存-变量】_第29张图片

JavaScript高级day01【WebStrom安装、数据类型分类及判断、数据-内存-变量】_第30张图片

JS高级 Xmind 思维导图

JavaScript高级day01【WebStrom安装、数据类型分类及判断、数据-内存-变量】_第31张图片

WebStorm 导入文件

  JavaScript高级day01【WebStrom安装、数据类型分类及判断、数据-内存-变量】_第32张图片

P2 02.尚硅谷_JS高级_数据类型 40:43

JavaScript高级day01【WebStrom安装、数据类型分类及判断、数据-内存-变量】_第33张图片

数据类型 分类

基本(值)类型

  1. Number:任意数值
  2. String:任意文本
  3. Boolean:true / false
  4. undefined:undefined
  5. null:null

对象(引用)类型

  1. Object:任意对象([]、函数...)
  2. Array:特别的对象类型(数值下标 / 内部数据有序)
  3. Function:特别的对象类型(可执行)

数据类型 判断

typeof

  1. 返回数据类型的字符串表达;
  2. 可以区别:数值、字符串、布尔值、undefined、function;
  3. 不能区别:null与object、一般object与array。

instanceof

  1. 专门用来判断对象数据的类型:Object、Array与Function。

===

  1. 可以判断:undefined和null。

JavaScript高级day01【WebStrom安装、数据类型分类及判断、数据-内存-变量】_第34张图片

=== 可以判断:undefined和null。默认值唯一 ---> undefined:undefined;null:null。

JavaScript高级day01【WebStrom安装、数据类型分类及判断、数据-内存-变量】_第35张图片

JavaScript高级day01【WebStrom安装、数据类型分类及判断、数据-内存-变量】_第36张图片

JavaScript高级day01【WebStrom安装、数据类型分类及判断、数据-内存-变量】_第37张图片




    
    01_数据类型




P3 03.尚硅谷_JS高级_相关问题 20:31

实例

使用同一个构造函数创建的对象,我们称为一类对象,也将一个构造函数称为一个类。我们将通过一个构造函数创建的对象,称为是该类的实例。

JavaScript高级day01【WebStrom安装、数据类型分类及判断、数据-内存-变量】_第38张图片

1. undefined与null的区别?

1. undefined与null的区别?

undefined代表定义未赋值;null定义并赋值,只是值为null。

2. 什么时候给变量赋值为null呢?

2. 什么时候给变量赋值为null呢?

初始赋值,表明将要赋值为对象;结束前,让对象成为垃圾对象(被垃圾回收器回收)。初始化赋值:将要作为引用变量使用, 但对象还没有确定。结束时:将变量指向的对象成为垃圾对象。

var a = null // a将指向一个对象,但对象此时还没有确定
a = null // 让a指向的对象成为垃圾对象

JavaScript高级day01【WebStrom安装、数据类型分类及判断、数据-内存-变量】_第39张图片  JavaScript高级day01【WebStrom安装、数据类型分类及判断、数据-内存-变量】_第40张图片

3. 严格区别变量类型与数据类型?

3. 严格区别变量类型与数据类型?

js的变量本身是没有类型的,变量的类型实际上是变量内存中数据的类型(js是弱类型的语言)。var a; 判断变量类型,实际上 是判断值的类型。

数据的类型(数据对象):
    * 基本类型
    * 对象类型

变量的类型(变量内存值的类型):
    * 基本类型:保存基本类型的数据(保存基本类型数据的变量)。
    * 引用类型:保存对象地址值(保存对象地址值的变量)。

JavaScript高级day01【WebStrom安装、数据类型分类及判断、数据-内存-变量】_第41张图片

P4 04.尚硅谷_JS高级_数据_变量_内存 47:39

1. 什么是数据?

存储于内存中代表特定信息的'东东',本质就是0101(二进制)...
数据的特点:具有可读、可传递、可运算的基本特性。
万物(一切)皆数据,函数也是数据。
内存(程序)中所有操作的目标: 数据
 * 算术运算
 * 逻辑运算
 * 赋值
 * 运行函数(调用函数传参)
...

2. 什么是内存?

内存条通电后产生的可存储数据的空间(临时的)。

内存产生和死亡: 内存条(集成电路板)==>通电==>产生一定容量的存储(内存)空间==>存储各种数据==>处理数据==>断电==>内存和数据全部消失

内存的空间是临时的, 而硬盘的空间是持久的
一块内存包含2个数据
 * 内部存储的数据(一般数据/地址数据)
 * 内存地址值数据
内存分类
 * 栈: 全局变量/局部变量 (空间较小)
 * 堆: 对象 (空间较大)

JavaScript高级day01【WebStrom安装、数据类型分类及判断、数据-内存-变量】_第42张图片

3. 什么是变量?

值可以变化的量,由变量名与变量值组成。

一个变量对应一块小内存,变量名用来查找对应的内存,变量值就是内存中保存的内容。

JavaScript高级day01【WebStrom安装、数据类型分类及判断、数据-内存-变量】_第43张图片

4. 内存、数据、变量三者之间的关系。

内存是一个容器,用来存储程序运行需要操作的数据(内存是用来存储数据的空间)。

变量是内存的标识,我们通过变量找到对应的内存,进而操作(读/写)内存中的数据。

P5 05.尚硅谷_JS高级_相关问题1 24:22

情况讨论:var a = xxx(赋值操作),a内存中到底保存的是什么?

问题:var a = xxx(赋值操作),a内存中到底保存的是什么?

  1. xxx是一个基本数据,保存的就是这个数据。
  2. xxx是一个对象,保存的是对象的地址值。
  3. xxx是一个变量,保存的xxx的内存内容(保存的可能是基本数据,也可能是地址值数据)。

JavaScript高级day01【WebStrom安装、数据类型分类及判断、数据-内存-变量】_第44张图片

关于引用变量赋值问题

关于引用变量赋值问题

  • 2个引用变量指向同一个对象(保存的内容是同一个对象的地址值),通过一个引用变量修改对象内部数据,另一个引用变量也看得见(看见的是修改之后的数据)。
  • 2个引用变量指向同一个对象,让一个引用变量指向另一个对象,另一个引用变量还是指向原来的对象。

此图,针对第1条解释。

JavaScript高级day01【WebStrom安装、数据类型分类及判断、数据-内存-变量】_第45张图片

此图,针对第2条解释。

JavaScript高级day01【WebStrom安装、数据类型分类及判断、数据-内存-变量】_第46张图片



	
		
		02_关于引用变量赋值问题
	
	
		
	

P6 06.尚硅谷_JS高级_相关问题2 25:38

关于引用变量赋值问题

obj和a存的堆地址相同,下一步赋值obj的堆地址改变了,但是他并没有改变之前a里存的堆地址的内容。

就是把a的内容拷贝一份到函数参数obj上,但函数内部obj指向了新对象,但不影响a指向的对象。

函数形参传进去之后,复制a的值给obj,这两个栈内存指向一个堆内存的数据。之后obj={age:15},这时:obj指向另一个堆内存,这两个堆内存不一样了,再用obj修改age也不会影响到a指向的age。

JavaScript高级day01【WebStrom安装、数据类型分类及判断、数据-内存-变量】_第47张图片

关于数据传递问题

问题:在js调用函数时传递变量参数时,是值传递还是引用传递?

  • 理解1:都是值(基本/地址值)传递。
  • 理解2:可能是值传递,也可能是引用传递(地址值)。
  • 只有值传递,没有引用传递,传递的都是变量的值,只是这个值可能是基本数据,也可能是地址(引用)数据。
  • 如果后一种看成是引用传递,那就值传递和引用传递都可以有。

因为函数里的a是函数内的局部变量,换成this.a = a + 1,这时候this.a就是你最开始定义的a。

假设形参是x,调用函数传参时,发生了两件事:1、读取全局变量a的值;2、将值赋值给x ,然后执行函数内代码。

括号里的a是全局里的a的值copy给他的。

JavaScript高级day01【WebStrom安装、数据类型分类及判断、数据-内存-变量】_第48张图片

JavaScript高级day01【WebStrom安装、数据类型分类及判断、数据-内存-变量】_第49张图片

内存管理

问题: JS引擎如何管理内存?
  1. 内存生命周期
    1). 分配需要的内存
    2). 使用分配到的内存
    3). 不需要时将其释放/归还
  2. 释放内存
    * 为执行函数分配的栈空间内存: 函数执行完自动释放
    * 存储对象的堆空间内存: 当内存没有引用指向时, 对象成为垃圾对象, 垃圾回收器后面就会回收释放此内存

JavaScript高级day01【WebStrom安装、数据类型分类及判断、数据-内存-变量】_第50张图片

P7 07.尚硅谷_JS高级_对象 23:30

 

 

 

 

P8 08.尚硅谷_JS高级_函数 15:59

 

 

 

 

 

 

 

P9 09.尚硅谷_JS高级_回调函数 09:54

 

 

 

 

 

 

 

P10 10.尚硅谷_JS高级_IIFE 14:49

 

 

 

 

 

 

 

 

P11 11.尚硅谷_JS高级_函数中的this 10:50

 

 

 

 

 

P12 12.尚硅谷_JS高级_关于语句分号问题 18:38

 

 

 

 

P13 13.尚硅谷_JS高级_webstorm设置 23:02

 

 

 

 

 

 

 

P14 14.尚硅谷_JS高级_复习 55:51

 

 

 

 

 

你可能感兴趣的:(JavaScript,javascript,webstorm,object,array,function)