JS

189 阅读3分钟

JavaScript:是一种运行在浏览器端的脚本语言

JS的运行环境:浏览器、node、手机、嵌入式、ai、区块链 Java 和JavaScript没有关系

JavaScript包含以下几个部分:

ECMASCript:欧洲计算机制造联合会

BOM:brower object model

DOM:document object model

JS写法

1、行内

2、内部 内部写法

3、外部

JS输出

1、alter

2、console.log()

JS语法规则:

1、区分大小写 HTML不区分

2、忽略空白符(空格、字<tab键>、换行符)css一样

3、注释 //(单行注释不能嵌套) /* */(多行注释)

4、标识符和关键字

变量

进程:

当一个项目运行之后就是一个进程,进程是操作系统分配和调度资源(CPU和内存)的基本单位(工厂)

线程

真正干活的 JS是单线程(一个工人) 默认情况下线程从上到下执行任务

JS单线程是指主线程是单线程:如果主线程遇到一个耗时任务(网络请求数据、读取文件、、、),它就把任务给线程帮忙,线程做完再把结果给主线程

变量:

软件---->目的处理数据

数据如何保存--->保存在内存(小格子)

使用数据--->每个小格子有一个地址,根据地址找到小格子

使用指针比较麻烦--->变量 把每一个小格子起一个别名,既变量

变量=变量名+变量值

声明一个变量:

1、一次声明一个变量 var name ="za" var age="we"

2、一次声明多个 var a,b,s;

3、重复声明

4、遗漏声明

全局变量&局部变量

全局变量和局部变量的分界点是函数

定义在函数里面叫局部变量,函数外面既全局变量

全局变量在函数内外都可以使用,局部变量只能在函数里使用

数据类型:针对不同的数据,分配不同的内存空间--->合理使用内存空间

1、基本数据类型:数字(number)、字符串(string)、布尔(boolean)、undefined.null

2、引用数据类型:object(array,function)

JS代码的解析与执行

1、代码块可以有多个,下面的代码块可以使用上面代码块的数据,上面的不能使用下面的

2、预编译,在JS代码执行之前会有一个预编译

提升变量:提升

3、变量提升 var 变量会提升,没有var的不会

循环变量也可以提升

函数内部价var也会提升,提升到函数内部最前面

4、提升函数

函数声明也会提升,提升到代码段最前面

函数表达式不会提升,它的本质是变量

5、函数定义方法:函数声明 函数表达式

6、数据的存储:

基本数据类型(number、string、):栈区

对于基本数据类型的赋值var b=a;是把a中栈区中的数据取出来一份给了b,此时a和b是相互独立的

引用数据类型:堆区

数组是引用数据类型

7、声明与定义

声明:var a; 定义:var a=1; //声明的同时赋值

8、let和const定义

let:用来定义变量 特点: 1、形成块级作用域(第三种作用域)let声明的变量,只能在let命令行所在的代码块起作用

2、不能提升

3、不会挂在window上

4、暂时性死区(TDZ)

5、不能重复定义

const:定义常量

特点: 1、定义完后,不能再改值(基本数据类型、引用数据类型都不行)

2、不能重复声明

3、不能提升

4、声明时必须赋值

语句: 循环语句:for循环、while循环、do循环