JavaScript (变量,var,Let,Const)

发布于:2024-09-18 ⋅ 阅读:(168) ⋅ 点赞:(0)

目录

JavaScript 变量

JavaScript 变量

JavaScript 标识符

声明(创建) JavaScript 变量

JavaScript Let

全局作用域

函数作用域

块作用域(Let)

重新声明变量

JavaScript  Const

在声明时赋值


JavaScript 变量

JavaScript 变量

JavaScript 变量是存储数据值的容器

在本例中,x、y 和 z 是变量:

var x = 7;
var y = 8;
var z = x + y; 

从上例中,可获得:

  • x 存储值 7
  • y 存储值 8
  • z 存储值 15

JavaScript 标识符

标识符适用于给变量命名的。

命名规则如下

1 字母,数字,下划线,美元符号组成

2 首字母不能是数字

3 区分大小写

4 不能含有关键字

声明(创建) JavaScript 变量

在 JavaScript 中创建变量被称为“声明”变量

可以通过 var 关键词来声明 JavaScript 变量。同时也可以通过let ,Const声明,这个后面会了解到:

var name;
//声明之后,变量是没有值的。(技术上,它的值是 undefined。)

JavaScript Let ,var

我们根据Let  和  var  处在的位置,划分范围(在函数中,代码块({ ......   }),全局范围内。

全局作用域

全局作用域:这个变量在任何地方,都可以被使用。在java中称之为全局变量

var carName = "porsche";

// 此处的代码可以使用 carName

function myFunction() {
  // 此处的代码也可以使用 carName
}

函数作用域

函数作用域:局部函数内)声明的变量拥有函数作用域。在java中,表示为局部变量,只在方法中起作用。

// 此处的代码不可以使用 carName

function myFunction() {
  var carName = "porsche";
  // code here CAN use carName
}

// 此处的代码不可以使用 carName

了解全局作用域和函数作用域后,我们再学习 let  声明的块作用域

块作用域(Let)

通过 var 关键词声明的变量没有块作用域

在块 {} 内声明的变量可以从块之外进行访问。

{ 
  var x = 10; 
}
// 此处可以使用 x

可以使用 let 关键词声明拥有块作用域的变量。

在块 {} 内声明的变量无法从块外访问:

{ 
  let x = 10;
}
// 此处不可以使用 x

共同点:

  • 块作用域和函数作用域 在java中都表示为局部变量。在外部无法访问。
  • 除了块作用域,其他的(函数作用域,全局作用域)都可以使用var 和let 表示

重新声明变量

实例

通过案例可以发现:

var 声明的变量,不存在是块作用域

因此我们声明两次变量x,且都表示为全局作用域。这就发生了问题。在输出x存储的值,不知道是具体表示哪一个? 

应该使用 let 关键字重新声明变量可以解决这个问题。

在块中重新声明变量不会重新声明块外的变量

总结:很大程度上,我们不会一直使用var,一般使用let,在语法规则上和java规则差不多的。

原因是:使用var导致声明变量的范围,不清晰。

当你使用innerHTML时,Let声明的块作用域中变量是无法在外部表示的,因此结果为var 表示的全局作用域 10

JavaScript  Const

通过 const 定义的变量与 let 变量类似,但不能重新赋值:

在声明时赋值

JavaScript const 变量必须在声明时赋值:

注意常使用Const表示常量。我们知道常量是不能被修改的,但在这里我们不更改常量原始值,但可以更改常量对象的属性。


网站公告

今日签到

点亮在社区的每一天
去签到