var、const、let 的區別

定義變量的三種方式

var、const、let 均可以用來定義變量,但三者之間存在區別。javascript

var

  • var 聲明變量的時候無需初始化。
  • var 聲明的變量可在後面進行修改。
  • var 聲明的全局變量能夠被函數修改。
<!DOCTYPE html>
<html>
<head>
	<title></title>
</head>
<body>
<script type="text/javascript">
	var a;
	console.log('定義a變量,此時沒有初始化,a的值爲:',a);

	a = 1;
	console.log('修改a的值,此時a的值爲:',a);

	function chageVarA () {
		a = 2;
		console.log('在函數裏面修改a的值,此時a的值爲:',a);
	}
	chageVarA();

	console.log('在函數執行後,全局變量a的值爲:',a);
</script>
</body>
</html>
複製代碼

執行的結果爲: html

在這裏插入圖片描述

const

  • const 聲明變量時必須初始化。
  • const 聲明的變量不能被修改。
<!DOCTYPE html>
<html>
<head>
	<title></title>
</head>
<body>
<script type="text/javascript">
	const a;
	console.log(a);
</script>
</body>
</html>
複製代碼

執行的結果爲: java

在這裏插入圖片描述

<!DOCTYPE html>
<html>
<head>
	<title></title>
</head>
<body>
<script type="text/javascript">
	const a = 1;
	console.log('初始化a變量,此時a的值爲:',a);

	a = 2;
	console.log('修改a的值,此時a的值爲:',a)
</script>
</body>
</html>
複製代碼

執行的結果爲: bash

在這裏插入圖片描述

let

  • let 是塊級做用域。
  • 在函數內部使用let後,對函數外部的變量無影響。
<!DOCTYPE html>
<html>
<head>
	<title></title>
</head>
<body>
<script type="text/javascript">
	var a = 1;
	console.log('初始化變量a,此時a的值爲:',a);

	function changeLet(){
		let a = 2;
		console.log('執行變量修改函數,在函數內容a的值爲:',a);
	}
	changeLet();

	console.log('執行變量修改函數後,全局變量a的值爲:',a);
</script>
</body>
</html>
複製代碼

執行的結果爲: 函數

在這裏插入圖片描述
相關文章
相關標籤/搜索