基础-变量

发布时间 2023-07-08 01:23:30作者: 黑逍逍

变量(Variables): 在JavaScript中,变量用于存储和引用数据。使用varletconst关键字可以声明变量。变量可以保存各种类型的值,并且可以根据需要进行修改。

  1. 声明变量: 在使用变量之前,需要先声明它。可以使用关键字 varletconst 来声明变量,具体取决于变量的作用域和可变性。
  • var:用于声明一个函数作用域或全局作用域的变量。它存在变量提升的特性,即在变量声明之前就可以使用该变量。
  • let:用于声明一个块级作用域的变量。
  • const:用于声明一个块级作用域的常量。常量在声明后不能再修改其值。
function example() {
  var x = 10; // 使用 var 声明的变量具有函数作用域
  let y = 20; // 使用 let 声明的变量具有块级作用域

  if (true) {
    var x = 30; // 同一函数作用域内的重复声明,会修改已存在的变量 x
    let y = 40; // 不同块级作用域内的重新声明,创建了一个新的变量 y

    console.log(x); // 输出 30
    console.log(y); // 输出 40
  }

  console.log(x); // 输出 30
  console.log(y); // 输出 20,块级作用域内的 y 不影响函数作用域内的 y
}

example();

  

  1. 赋值和重新赋值: 声明变量后,可以通过赋值操作符 = 将一个值赋给变量。赋值可以是初始值,也可以是变量的新值。
let age; // 声明一个变量
age = 25; // 赋予变量初始值

let name = "John"; // 同时声明和赋值一个变量

age = 30; // 重新赋值给变量

  1. 变量命名规则: 变量名是标识符,需要遵循一些命名规则:
  • 变量名可以包含字母、数字、下划线 _ 和美元符号 $
  • 变量名必须以字母、下划线或美元符号开头,不能以数字开头。
  • 变量名区分大小写ageAge 是不同的变量。
  • 变量名应该具有描述性,能够清晰地表达变量的含义。
let myVariable; // 合法的变量名
let _score; // 合法的变量名
let $totalAmount; // 合法的变量名
let 123abc; // 非法的变量名,以数字开头
let my-variable; // 非法的变量名,包含连字符

  

  1. 数据类型和类型推断: JavaScript是一种动态类型的语言,变量的数据类型是根据赋予的值自动推断的。
let name = "John"; // 字符串类型
let age = 25; // 数字类型
let isStudent = true; // 布尔类型

  

  1. 变量作用域: 变量的作用域指的是变量在代码中可访问的范围。
  • 全局作用域:在任何地方都可以访问的变量。
  • 函数作用域:在函数内部声明的变量,只能在函数内部访问。
  • 块级作用域:在 {} 内部声明的变量,只能在 {} 内部访问(使用 letconst 声明的变量)。