本章给大家带来javascript的变量作用域解析(详解),让大家可以了解关于javascrip作用域的一些小知识。有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
什么是JavaScript作用域?
在JavaScript中,作用域是可访问变量,对象,函数的集合。
作用域在函数内可以修改。
JavaScript局部作用域
立即学习“Java免费学习笔记(深入)”;
变量在函数内声明,变量为局部变量(局部作用域)
局部变量:只能在函数内部访问。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<button onclick="myFunction(1,2)">试一试</button>
<p id="demo"></p>
</body>
<script type="text/javascript">
function name() {
//在此处声明一个变量
var a = 10;
//函数内可以调用 a
}
//此处(函数外)不能调用变量 a
//因为局部变量只作用于函数内,所以不同的函数可以使用相同名称的变量名
//局部变量在函数开始执行时创建,函数执行完毕后,变量会自动销毁
</script>
</html>JavaScript全局变量
变量在函数外定义,即为全局变量。
全局变量有全局作用域,网页中所有脚本和函数都可使用。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<button onclick="myFunction(1,2)">试一试</button>
<p id="demo"></p>
</body>
<script type="text/javascript">
/* 在此处声明一个全局变量 */
var a = 10;
function name() {
//函数内可以调用 a
}
//此处也能调用变量 a
</script>
</html>如果变量在函数内没有声明(没有使用var关键字声明)改变量为全局变量。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<button onclick="myFunction(1,2)">试一试</button>
<p id="demo"></p>
</body>
<script type="text/javascript">
function name() {
/* 在此处声明一个变量 */
a = 10;
/* a没有使用var关键字声明,则默认为全局变量 */
}
</script>
</html>JavaScript变量生命周期
变量的生命周期在它的声明时初始化。局部变量在函数执行完毕后销毁。全局变量在页面关闭后销毁。
函数参数
函数参数只在函数内起作用,是局部变量。
HTML中的全局 变量
在HTML中,全局变量是window对象,所有数据变量都属于window对象。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<button onclick="myFunction(1,2)">试一试</button>
<p id="demo"></p>
</body>
<script type="text/javascript">
function name() {
a = 10;
}
//此处可使用window.a调用变量 a
</script>
</html>
全局变量或者函数可以覆盖window对象的变量或者函数。局部变量包括window对象,可以覆盖全局变量和函数。
在es6中提供了let关键字和const关键字
let的声明方式与var相同,用let来代替var声明变量,就可以把当前变量限制在代码块中。
使用const声明的是常量,其值一旦被设置便不可被更改。
以上就是JavaScript的变量作用域解析(详解)的详细内容,更多请关注php中文网其它相关文章!
java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号