JS笔记(二)

变量的声明方式

// 1.声明变量
var a;
a = 1;    // 赋值
// 2.声明变量,同时初始化变量
var b = 2;
// 3.声明变量,同时初始化变量(此种方式声明的变量,作用域为全局)
c = 3;

变量的存储方式与作用域

储存方式

变量存储在栈内存中,变量按变量值的存储方式分为基本数据类型的变量,和引用数据类型的变量。

所有变量的变量名都存储在栈内存中,基本数据类型的变量值是存储在栈内存中的,其他数据类型(称为引用数据类型)的变量值在栈内存中是一个地址(称为引用),这个地址是堆内存中的地址,真正的变量值就保存在堆内存所在的这个地址中。

基本数据类型的变量与引用数据类型的变量存储方式的不同,如下图:
在这里插入图片描述

作用域

var a = 1;   // a的作用域是全局的

function fun(){
	var b = 2;   // 变量b的作用域在fun函数中,fun函数外面无法使用
	c = 3;       // 变量c的作用域是全局的
}

Note:JS里没有局部变量,只有函数变量;也就是所在{ }里声明的变量,出了函数块也是能用的;但是在函数中里声明的变量,出了函数是不能使用的。(例如:if(){}、for(){}。在它们中的代码块中声明中的变量出了代码块也能使用,并没有被销毁。)

变量提升

JavaScript 中,函数及变量的声明都将被提升到函数的最顶部。

JavaScript 中,变量可以在使用后声明,也就是变量可以先使用再声明。

console.log(x);   // undefined
x = 1;
console.log(x);   // 1
var x;

// 上面的语句,经过变量提升后

var x;
console.log(x);   // undefinde
x = 1;
console.log(x);   // 1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值