Skop JavaScript



Himpunan pembolehubah boleh diakses skop.


Skop JavaScript

Dalam JavaScript, objek dan fungsi juga pembolehubah.

Dalam JavaScript, skop ialah koleksi pembolehubah, objek dan fungsi yang boleh diakses.

Skop fungsi JavaScript: Skop diubah suai dalam fungsi.


Skop tempatan JavaScript

Pembolehubah diisytiharkan dalam fungsi dan pembolehubah adalah skop setempat.

Pembolehubah setempat: hanya boleh diakses di dalam fungsi.

Instance

<!DOCTYPE html>
<html>
<head> 
<meta charset="utf-8"> 
<title>php中文网(php.cn)</title> 
</head>
<body>

<p>局部变量在声明的函数内可以访问。</p>
<p id="demo"></p>
<script>
myFunction();
document.getElementById("demo").innerHTML =
	"我可以显示 " +  typeof carName;
function myFunction() 
{
    var carName = "Volvo";
}
</script>

</body>
</html>

Run Instance»

Klik butang "Run Instance" untuk melihat contoh dalam talian

Oleh kerana pembolehubah tempatan hanya bertindak dalam fungsi, fungsi yang berbeza boleh menggunakan pembolehubah dengan nama yang sama.

Pembolehubah setempat dicipta apabila fungsi mula dilaksanakan dan akan dimusnahkan secara automatik selepas fungsi tersebut dilaksanakan.


Pembolehubah global JavaScript

Pembolehubah yang ditakrifkan di luar fungsi ialah pembolehubah global.

Pembolehubah global mempunyai Skop global: semua skrip dan fungsi dalam halaman web boleh digunakan.

Instance

<!DOCTYPE html>
<html>
<head> 
<meta charset="utf-8"> 
<title>php中文网(php.cn)</title> 
</head>
<body>

<p>全局变量在任何脚本和函数内均可访问。</p>
<p id="demo"></p>
<script>
var carName = "Volvo";
myFunction();
function myFunction() 
{
    document.getElementById("demo").innerHTML =
		"我可以显示 " + carName;
}
</script>

</body>
</html>

Run Instance»

Klik butang "Run Instance" untuk melihat contoh dalam talian

Jika pembolehubah tidak diisytiharkan dalam fungsi (tanpa menggunakan kata kunci var), pembolehubah tersebut ialah pembolehubah global.

Dalam contoh berikut, carName berada dalam fungsi tetapi merupakan pembolehubah global.

Instance

<!DOCTYPE html>
<html>
<head> 
<meta charset="utf-8"> 
<title>php中文网(php.cn)</title> 
</head>
<body>

<p>
如果你的变量没有声明,它将自动成为全局变量:
</p>
<p id="demo"></p>
<script>
myFunction();
document.getElementById("demo").innerHTML =
	"我可以显示 " + carName;
function myFunction() 
{
    carName = "Volvo";
}
</script>

</body>
</html>

Run Instance»

Klik butang "Run Instance" untuk melihat contoh dalam talian


Kitaran hayat pembolehubah JavaScript

Kitaran hayat pembolehubah JavaScript dimulakan apabila ia diisytiharkan.

Pembolehubah setempat dimusnahkan selepas fungsi dilaksanakan.

Pembolehubah global dimusnahkan selepas halaman ditutup.


Parameter fungsi

Parameter fungsi hanya berfungsi dalam fungsi dan merupakan pembolehubah setempat.


Pembolehubah global dalam HTML

Dalam HTML, pembolehubah global ialah objek tetingkap: semua pembolehubah data tergolong dalam objek tetingkap.

Instance

<!DOCTYPE html>
<html>
<head> 
<meta charset="utf-8"> 
<title>php中文网(php.cn)</title> 
</head>
<body>

<p>
在 HTML 中, 所有全局变量都会成为 window 变量。
</p>
<p id="demo"></p>
<script>
myFunction();
document.getElementById("demo").innerHTML =
	"我可以显示 " + window.carName;
function myFunction() 
{
    carName = "Volvo";
}
</script>

</body>
</html>

Run Instance»

Klik butang "Run Instance" untuk melihat contoh dalam talian


Tahukah anda?


NotePembolehubah global anda , atau Fungsi boleh mengatasi pembolehubah atau fungsi objek tetingkap.
Note你的全局变量,或者函数,可以覆盖 window 对象的变量或者函数。
局部变量,包括 window 对象可以覆盖全局变量和函数。
Pembolehubah setempat, termasuk objek tetingkap, boleh mengatasi pembolehubah dan fungsi global.