首页> 基础笔记 >JS/JQ基础学习 >函数 函数
JavaScript的变量的作用域
作者:小萝卜 2023-03-21 【 javascript 】 浏览 429
简介JavaScript的变量的作用域
1.变量的优先级
如果在函数体里定义了一个与全局变量名相同的局部变量,那么在该函数体里全局变量将不起作用,就相当于全局变量并不存在。
2.在函数体内定义全局变量
在函数体内使用var关键字定义的变量为局部变量,如果要在函数体内定义全局变量,则不能使用var关键字,只需要直接给变量赋值即可。
3.嵌套函数体中的变量的范围
在JavaScript中的函数是可以嵌套的,每个嵌套函数中的变量都可以在该函数体内,以及嵌套的函数体内起作用,但不能在父级或父级以上的函数体内起作用。
4.局部变量在整个函数体内都有效
JavaScript只要在函数体内定义了局部变量,该局部变量就会在整个函数体内有效,而不是从定义局部变量的那行代码开始起效。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>作用域</title>
</head>
<body>
<script type="text/javascript">
var a = 100;
function love(){
alert(12345);
}
</script>
<script type="text/javascript" src="1.js"></script>
34rtyuio0fghjkl;fghjkltyghujaldfasdifjokaslkfdjaslkdfjaiojfda
dolfajfdklajflakjsldkfalkjflad
dajlfdasjlkdfajs;l
fdlkasjflkads
fmlkdsajfkl;ads
lkfdjaslk;fjasl
<script type="text/javascript">
// alert(a);
// alert(b);
// love();
//由外而向内的有效机制
var c = 300;
function func(){
var d = 400;
function func2(){
var d = 500;
alert(d);
alert(c);
}
func2();
}
// func();
var e = '';
//如果声明变量不加var
function func3(){
e = 600;
}
func3();
// alert(e);
//函数的作用域
function func(){
function func1(){
function func3(){
func2();
}
func3();
}
function func2(){
alert('func2');
}
func1();
}
func();
</script>
</body>
</html>
很赞哦! (0)
下一篇:JavaScript的系统函数