JS一些简单基础知识

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)在代码执行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值