javascript 基础2

68 篇文章 1 订阅
6 篇文章 0 订阅

变量

概念:
变量是用来临时存储数据的容器。本质上来说,变量是没有数据类型的。但是一旦向变量中存储了数据,那么变量就存在了类型。变量的类型就变为你存储数据的类型。
(变量中存的数据是声明类型,变量就是声明类型)

在js中不存在2个相同名称的变量,后声明的替换前声明的。相当于重新声明一个变量。

临时存储数据便用变量,想要永久性存储数据就要使用数据库

命名规范:
命名尽量词能达意,遵循合法标识符。不使用关键字,不使用保留字,开头不大写(js大多自带方法都是大写开头),js大小写敏感,不能用数字开头,不能包含星号,不能包含加减号或连线词,可用下划线

变量命名可用中文 不推荐使用,不通用,比正常代码要多一步(转为万国码unicode),再转为2进制

标识符:
最常见的标识符就是变量名

关键字:
js本身使用的名字,一旦一个词被定义为关键字,那么我们就不能使用
例如:var let if 等等

保留字:
js负责交互,html负责结构,css负责样式

声明变量:
ES5:
var 变量名;

ES6:
let 变量名;

初始化
变量创建成功后,但没有存储数据,这个变量叫 尚未初始化

推荐写法:
一次性声明多个变量

例如:

var a=1,b=2,c=5;

var a,b,c;

存储数据:
例:

var a=1;
	a=2;

存储机制是内存中再开一个存2的空间。存1的空间不用了,被自动销毁。而不是直接在存1的空间内把1替换为2。

重新声明:
例:

var x=1
var x;
console.log(x);//x的值为1

上面的例子是重新声明变量,却没有存储值。那么第为此的声明相当于无效的声明,所以x的值仍为1。

变量提升:
只适用于var声明的变量,ES6的let不存在变量提升机制
当我们宿主环境在读取和执行我们的代码之前,会进行预解析。也就是找到声明的变量,放到代码的最前端。
例1:

console.log(d);//返回undefined,表示未定义
var d="aa";

上面的代码不会报错,原因是发生了变量提升,其实际的执行情况为:

var d;
console.log(d);
d="aa";

因为变量d赋值发在打印之后,所以输出undefined。但已经声明了变量,所以不会报错。

预解析:(预解析只是个过程,真实情况叫变量提升)
浏览器在读取之前会快速找到所有的变量,然后把声明的(var)操作提到代码的最前面。赋值操作仍在原本位置。

生命周期:
从开始到结束的时间
一个变量的生命周期是指这个变量从被创建到被js销毁的周期,就称为生命周期。
若再次加载页面,等同于再次重新声明一个变量。

局部变量生命周期:
在函数执行完毕后结束

全局变量生命周期:
页面关闭后结束

存储位置:
变量都存储于内存的栈(stack)中

常量:
const+名称
例如:const a
一个不可修改的变量,修改就会报错

赋值:
js中=不代表等于,称为赋值
var name 声明一个叫name的变量
name=“a”; 给变量name 存储数据
等号左边称为 变量
等号右边称为 表达式
以;结尾

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值