初识JavaScript
❤️你有多颓废,你讨厌的人就有多得意。❤️ |
---|
JavaScript 数组 Const
ECMAScript 2015 (ES6)
介绍:在2015的时候,JavaScript引入了一个重要的新关键字:const
。现在const
已经变成了经常使用的方法。
实例:
const cars = ["小飞侠", "老龟", "敬故"];
document.getElementById("jg").innerHTML = cars;
输出结果:
小飞侠,老龟,敬故
// 本实例将输出const数组
无法重新赋值
使用 const 声明的数组不能重新赋值。
实例:
try {
const cars = ["小飞侠", "大山", "老龟"];
cars = ["敬故", "Rtp", "飞机"];
}
catch (err) {
document.getElementById("jg").innerHTML = err;
}
输出结果:
TypeError: Assignment to constant variable.
// 输出内容为类型错误:赋值到常量变量。
数组不是常量
const
有一定误导性。它不定义常量数组。它定义的是对数组的常量引用。所以说我们仍可以更改常量数组的元素。
元素可以重新赋值
我们可以更改常量数组的元素。
实例:
const cars = ["飞侠", "大山", "敬故"];
cars[0] = "小飞侠";
cars.push("老龟");
document.getElementById("jg").innerHTML = cars;
输出结果:
小飞侠,大山,敬故,老龟
// 输出结果将会给数组的第一个元素替换小飞侠,在末尾添加一个元素
声明时赋值
const
变量在声明时必须赋值,使用 const
声明的数组必须在声明时进行初始化。使用 const
而不初始化数组是一个语法错误。
不起作用的实例:
const cars;
cars = ["小飞侠", "大山", "老龟"];
document.getElementById("jg").innerHTML = cars[0];
输出结果:
//输出结果为空
起作用的实例:
cars = ["小飞侠", "大山", "老龟"];
var cars;
document.getElementById("jg").innerHTML = cars[0];
输出结果:
小飞侠
// 输出结果为数组中第一个元素
const 块作用域
使用 const
声明的数组具有块作用域,在块中声明的数组与在块外声明的数组不同。
实例:
const cars = ["小飞侠", "大山", "老龟"];
{
const cars = ["783", "敬故", "Rtp"];
}
document.getElementById("jg").innerHTML = cars[0];
输出结果:
小飞侠
// 输出结果为块外数组的第一个值
使用 var
声明的数组没有块作用域。
实例:
var cars = ["小飞侠", "大山", "老龟"];
{
var cars = ["783", "敬故", "Rtp"];
}
document.getElementById("jg").innerHTML = cars[0];
输出结果:
783
// 输出结果为后一个数组的第一个元素
重新声明数组
在代码中的任何位置都允许用 var
重新声明数组。
实例:
var cars = ["小飞侠", "大山"];
var cars = ["老龟", "阿豹"];
cars = ["小飞侠", "大山"];
document.getElementById("jg").innerHTML = cars[0];
输出结果:
小飞侠
// 输出结果为最后一组的第一个元素
不允许在同一域或同一块中将数组重新声明或者是重新赋值给 const
。
实例:
var cars = ["小飞侠", "大山"];
const cars = ["小飞侠", "大山"];
{
var cars = ["小飞侠", "大山"];
const cars = ["小飞侠", "大山"];
}
document.getElementById("jg").innerHTML = cars[0];
输出结果:
// 由于不允许重新赋值给const输出结果为空
不允许在同一域或同一块中重新声明或重新赋值现有的 const 数组。
实例:
const cars = ["小飞侠", "大山"];
const cars = ["小飞侠", "大山"];
var cars = ["小飞侠", "大山"];
cars = ["小飞侠", "大山"];
{
const cars = ["小飞侠", "大山"];
const cars = ["小飞侠", "大山"];
var cars = ["Volvo", "BMW"];
cars = ["小飞侠", "大山"];
}
document.getElementById("jg").innerHTML = cars[0];
输出结果:
// 由于不允许重新赋值给const数组输出结果为空
允许在另一个域或另一个块中使用 const
重新声明数组。
实例:
const cars = ["小飞侠", "大山"];
{
const cars = ["小飞侠", "大山"];
}
{
const cars = ["小飞侠", "大山"];
}
document.getElementById("jg").innerHTML = cars[0];
输出结果:
小飞侠
// 输出结果为重新声明数组的第一个值
第九节到这里就结束了
我们将会在下一节接触到日期
In the future, you will definitely thank yourself for your hard work now. 将来的你,一定会感谢现在拼命的自己