JavaScript 显示方案

JavaScript 能够以不同方式”显示”数据: * 使用 window.alert() 写入警告框 * 使用 document.write() 写入 HTML 输出 * 使用 innerHTML 写入 HTML 元素 * 使用 console.log() 写入浏览器控制台

<p id="demo"></p>
<script>
 document.getElementById("demo").innerHTML = 5 + 6;
</script>
<h2>我的第一张网页</h2>
<p>我的第一个段落。</p>
<script>
document.write(5 + 6);
</script>
//在 HTML 文档完全加载后使用 document.write() 将删除所有已有的 HTML
<!DOCTYPE html>
<html>
<body>
<h1>我的第一张网页</h1>
<p>我的第一个段落</p>
<button onclick="document.write(5 + 6)">试一试</button>
</body>
</html>

let

重新声明

  • 允许在程序的任何位置使用 var 重新声明 JavaScript 变量:
var x = 10;
// 现在,x 为 10
var x = 6;
// 现在,x 为 6
  • 在相同的作用域,或在相同的块中,通过 let 重新声明一个 var 变量是不允许的:
var x = 10;     // 允许
let x = 6;      // 不允许
{
  var x = 10;  // 允许
  let x = 6;   // 不允许
}
  • 在相同的作用域,或在相同的块中,通过 let 重新声明一个 let 变量是不允许的:
let x = 10;    // 允许
let x = 6;     // 不允许
{
  let x = 10;  // 允许
  let x = 6;   // 不允许
}
  • 在相同的作用域,或在相同的块中,通过 var 重新声明一个 let 变量是不允许的:
let x = 10;    // 允许
var x = 6;     // 不允许
{
  let x = 10;  // 允许
  var x = 6;   // 不允许
}
  • 在不同的作用域或块中,通过 let 重新声明变量是允许的:
let x = 6;     // 允许
{
  let x = 7;   // 允许
}
{
  let x = 8;   // 允许
}

提升

  • 通过 var 声明的变量会提升到顶端。您可以在声明变量之前就使用它:
// 在此处,您可以使用 carName
var carName;
  • 通过 let 定义的变量不会被提升到顶端。在声明 let 变量之前就使用它会导致 ReferenceError。变量从块的开头一直处于”暂时死区”,直到声明为止:
// 在此处,您不可以使用 carName
let carName;

const

块作用域

var x = 10;
// 此处,x 为 10
{
  const x = 6;
  // 此处,x 为 6
}
// 此处,x 为 10

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

常量对象可以更改

您可以更改常量对象的属性:

// 您可以创建 const 对象:
const car = {type:"porsche", model:"911", color:"Black"};
// 您可以更改属性:
car.color = "White";
// 您可以添加属性:
car.owner = "Bill";

但是您无法重新为常量对象赋值:

const car = {type:"porsche", model:"911", color:"Black"};
car = {type:"Volvo", model:"XC60", color:"White"};    // ERROR

常量数组可以更改

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

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

但是您无法重新为常量数组赋值:

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