JS变量

JS变量与常量

JS变量定义需要使用var关键字去新建变量, 且JS支持动态类型

所以标识符什么的就不讲了, 直讲特性好了

变量var

  • var多个变量初始化

    1
    2
    3
    4
    5
    6
    7
    8
    9

    var a,b,c,d;

    var a,
    b,
    c,
    d;

    // 可以多个定义, 但不可一起赋值

    被重新用var声明的变量值不会被改变

  • 无值变量

    变量声明完成后, 如果没有被赋值, 会被定义成无值的值undefined

块级作用域(ES6规范)

JavaScript 块级作用域(Block Scope), 顾名思义就是在块内才生效的变量声明周期

同等级内的程序作用块是可以对块外的var变量进行操作的(但函数内的var作用域仅在函数内)

那如果需要在块内使用同名变量, 可以在块内使用let重新定义一新的变量, const则可以保存同效果的常量(这种情况在循环计数器中常用)

常量const

const关键字定义的常量是不能被重新赋值的, 这也就是const的作用, 但确实是有方法进行修改的

如果const定义了一个对象或者数组, 用其内置的方法是可以进行属性修改的, 但就是不能进行重新赋值

const的作用范围性质与let相同

想要真正定一个无法修改的对象, 可以使用对象的freeze方法

局部变量let

用下面这个例子就区分了let和var的区别

1
2
3
4
5
6
7
var x = 10;
// 这里输出 x 为 10
{
var x = 2;
// 这里输出 x 为 2
}
// 这里输出 x 为 2
1
2
3
4
5
6
7
var x = 10;
// 这里输出 x 为 10
{
let x = 2;
// 这里输出 x 为 2
}
// 这里输出 x 为 10

HTML 代码中使用全局变量

在 JavaScript 中, 全局作用域是针对 JavaScript 环境

在 HTML 中, 全局作用域是针对 window 对象

使用 var 关键字声明的全局作用域变量属于 window 对象, 可以使用对象属性进行访问

但let变量不行

  • Copyrights © 2024 Cdog Shen
  • Visitors: | Views:

请我喝杯咖啡吧~

支付宝
微信