欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JS一些简单基础知识

程序员文章站 2022-06-30 20:51:08
...

js的三种链接方式

1,引入外部JS样式

<script src="./out.js"></script>

2,行内样式
3,``写入<script>

js变量中有全局变量和局部变量

写在函数外面的一定是全局变量写在函数里面的是局部变量。

JS的函数问题

声明一个函数,必须调用函数,如果不调用函数相当于函数没有写,如果没有加var,此时这个变量只能是全局变量,不管在函数外还是函数内。

JS中的数据类型

数据类型分为基本数据类型和引用数据类型,6大基本数据类型有Number,String,Boolean,Undefined,Null,Object.
引用数据类型有object对象,array数组,function函数
typeof查看数据类型(属于运算符)
数据转化有两种,隐式类型转化和强制类型转化。

js代码执行时分两个阶段

1)预编译阶段
2)代码执行(一行一行执行)
预编译阶段提升,把加var的变量进行提升(变量声明会提升变量的赋值是不会提升,提升到代码最前面)。把使用function声明的函数进行提升(把使用function定义的函数进行提升,提升的是整个函数定义。如果函数在判断语句中,只提升函数的名,不提升的函数体)
需要理解声明变量和定义变量,声明函数和定义函数的概念。

代码执行时,会产生一个执行上下文(EC);

代码分两类,全局代码和局部(函数)代码,函数外面的代码叫全局代码,一个函数就是一个局部代码。全局执行上下文;全局代码在执行时,产生全局的EC。
局部执行上下文;调用函数代码产生一个局部EC。
EC放在EC栈中,每产生一个EC就会放到EC栈中。执行完毕如果没有闭包形成,就会消失。
全局代码在执行时,会创建一些全局变量,全局函数,这个全局数据会被储存到一个VO的区域,如果变量名没有加var 是不会在vo里面。但会在window全局对象中。
给变量赋值是把栈空间的数据拿出来赋值给别人,不是堆空间的数据。

JS中一些常见的关键词

看见{}就是容器,引用数据类型也可以看做容器。其中基本数据类型数据储存在栈中,引用数据类型数据储存在堆中。

一些变量名的修饰符

let

1) let声明的变量没有提升。
2)let配合{}也可以形成块级作用域。
3)使用let声明的变量不会挂载到GO(window)上
4)let不能重复使用

const

1)const是声明一个常量
2)使用const声明的常量不会挂载到GO上
3)也会形成块级作用域
4)使用const不能重复声明
5)const声明常量必须赋值

函数表达式(本质是变量 变量的值是函数)
在局部代码EC中执行
1)先传参
2)在赋值
3)在代码执行

相关标签: 笔记 js