老徐WEB:js入门学习 - javascript变量

javascript变量是最基础的知识,也是学习任何编程语言都会接触,并且要学习的知识。

如果你在编程过程中需要存放一个数字,比如100,那么你首先要声明一个变量,然后把数字100赋值给变量,这样在程序中就有了100这个数字了,程序后面相关的计算操作都会通过这个变量来完成。再比如,你想存放一个hello的字符串,也是要声明一个变量,然后把hello赋值给变量。或者从后台数据库获取的数据,也是要存放给变量的,然后才能进行继续的操作。

下面就说一说变量相关的内容。
老徐在学习javascript的过程,也是从简单开始一步一步学习的。

变量的声明和初始化
变量的声明需要知道两个javascrip关键字就行了,分别是var和let(ES6新增)。这两个关键字都可以声明和初始化变量,当然两者声明的变量在作用域方面有所不同,接下来会说到。举例说明怎么声明和初始化变量,非常简单。
var x = 'hello'; // 声明一个变量,名字叫x,初始化值是一个字符串叫hello。
var y; // 声明一个变量,没有初始化,此时它的数据类型是undefined。
y = 3; // 给上面刚声明的变量赋值,值是一个数字3。
let a; // 声明了一个没有初始值的变量。
let b = '哈哈'; // 声明并初始化了一个变量,
上面简单列举了几个变量声明的例子,非常简单,给变量赋的值也不只是字符串或者数字,还有null、布尔值、数组、对象、函数等,后面在数据类型的时候再细讲。
可能有人会问了,var和let声明的变量好像没有区别呀。下面老徐说一下他们有什么区别,区别在于作用域的不同。

变量的作用域 - 全局、局部和块级作用域
由var声明的在函数体外的变量,叫全局变量,是全局作用域。
由var声明的在函数体内的变量,叫局部变量,是局部作用域。
由let声明的在代码块外的变量,叫全局变量,是全局作用域。
由let声明的在代码块内的变量,叫局部变量,是块级作用域。

看到上面4句话,有点晕,那么咱们先说var。
简单说就是由var声明的变量,在函数体外是全局变量,在函数体内是局部变量。
var x = 1; // 在函数体外声明的变量,是全局变量
function y(){
    // 函数体,而且x变量在函数体是可以用的。
}
function z(){
    var z1 = 0; // 在函数体内声明的变量,是局部变量,在函数体外是不能用的。
}
function a(){
    z2 = 1; // 此时这个变量是全局变量,没有用var声明。
}
看到这里,老徐相信大家应该明白什么是全局变量和局部变量了,区别就是在函数有内外,而且没有var的变量是全局变量。

接下来再说说let关键字。
简单说就是由let声明的变量在代码块外的是全局变量,在代码块内的是局部变量。
let x = 1; // 在代码块外声明的变量是全局变量
for(let i = 0; i < 5; i++){ // 在代码块内声明的变量是局部变量
    // 代码块
}
function z(){
    let y = 3; // 在代码块内声明的变量是局部变量
}
这就是var,let的区别,各位看明白了么。

 

另外还有几点需要注意。
由var声明的变量,可以有任何地方(函数内外、代码块内外)被再次声明。
由let声明的变量,在相同作用域里,不能被再次声明。
由let声明的变量,在相同作用域里,不能再被var声明。
由var声明的变量,在相同作用域里,不能再被let声明。

勤学苦练,笨鸟先飞。关注【老徐WEB前端开发教程】公众号,听老徐说。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值