js定义变量的几种方式


                             const也可以作为块级变量        

 

 

ECMAScript 2015 (ES6)

2015 年,JavaScript 引入了一个重要的新关键字:const。

使用 const 声明数组已成为一种常见做法:

实例

const cars = ["Saab", "Volvo", "BMW"];

亲自试一试

无法重新赋值

用 const 声明的数组不能重新赋值:

实例

const cars = ["Saab", "Volvo", "BMW"]; cars = ["Toyota", "Volvo", "Audi"]; // ERROR 

亲自试一试

数组不是常量

关键字 const 有一定误导性。

它不定义常量数组。它定义的是对数组的常量引用。

因此,我们仍然可以更改常量数组的元素。

元素可以重新赋值

您可以更改常量数组的元素:

实例

// 您可以创建常量数组: const cars = ["Saab", "Volvo", "BMW"]; // 您可以更改元素: cars[0] = "Toyota"; // 您可以添加元素: cars.push("Audi"); 

亲自试一试

 

const 块作用域

用 const 声明的数组具有块作用域。

在块中声明的数组与在块外声明的数组不同:

实例

const cars = ["Saab", "Volvo", "BMW"]; // 此处 cars[0] 为 "Saab" { const cars = ["Toyota", "Volvo", "BMW"]; // 此处 cars[0] 为 "Toyota" } // 此处 cars[0] 为 "Saab" 

亲自试一试

用 var 声明的数组没有块作用域:

实例

var cars = ["Saab", "Volvo", "BMW"]; // 此处 cars[0] 为 "Saab" { var cars = ["Toyota", "Volvo", "BMW"]; // 此处 cars[0] 为 "Toyota" } // 此处 cars[0] 为 "Toyota" 

亲自试一试

您可以在以下章节中学习更多关于块作用域的内容:JavaScript 作用域

重新声明数组

在程序中的任何位置都允许用 var 重新声明数组:

实例

var cars = ["Volvo", "BMW"]; // 允许 var cars = ["Toyota", "BMW"]; // 允许 cars = ["Volvo", "Saab"]; // 允许 

不允许在同一作用域或同一块中将数组重新声明或重新赋值给 const:

实例

var cars = ["Volvo", "BMW"]; // 允许 const cars = ["Volvo", "BMW"]; // 不允许 { var cars = ["Volvo", "BMW"]; // 允许 const cars = ["Volvo", "BMW"]; // 不允许 } 

不允许在同一作用域或同一块中重新声明或重新赋值现有的 const 数组:

实例

const cars = ["Volvo", "BMW"]; // 允许 const cars = ["Volvo", "BMW"]; // 不允许 var cars = ["Volvo", "BMW"]; // 不允许 cars = ["Volvo", "BMW"]; // 不允许  { const cars = ["Volvo", "BMW"]; // 允许 const cars = ["Volvo", "BMW"]; // 不允许 var cars = ["Volvo", "BMW"]; // 不允许 cars = ["Volvo", "BMW"]; // 不允许 } 

允许在另一个作用域或另一个块中使用 const 重新声明数组:

实例

const cars = ["Volvo", "BMW"]; // 允许 { const cars = ["Volvo", "BMW"]; // 允许 } { const cars = ["Volvo", "BMW"]; // 允许 }

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript 类方法</h1>

<p>将参数传递给 "age()" 方法。</p>

<p id="demo"></p>

<script>
  class Car {
    constructor(name, year) {
    this.name = name;
    this.year = year;
   }
    age(x) {
        return x - this.year;
    }
}

let date = new Date();
let year = date.getFullYear();

let myCar = new Car("Ford", 2014);
document.getElementById("demo").innerHTML=
"My car is " + myCar.age(year) + " years old.";
</script>

</body>
</html>

 

_


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM