代码拉取完成,页面将自动刷新
同步操作将从 fu小月/JavaScript基础学习笔记 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
/*
函数作用域
- 调用函数时创建函数作用域,函数执行完毕以后,函数作用域销毁
- 每调用一次函数就会创建一个新的函数作用域,他们之间是相互独立的
- 在函数作用域中可以访问到全局作用域的变量,在全局作用域中无法访问到函数作用域的变量
- 当在函数作用域操作一个变量时,它会先在自身作用域中寻找,如果有就直接使用,
如果没有则向上一级作用域中寻找,直到找到全局作用域,
如果全局作用域中依然没有找到,则会报错
- 在函数中要访问全局变量,可以使用window对象
*/
//练习一
var a = 10;
function fun() {
console.log("a=" + a); // a=10
var b = 20;
}
fun();
fun();
// console.log("b="+b); // 报错
//练习二
var c = 10;
function fun1() {
var c = "我是fun1函数里的c";
console.log("c=" + c); //我是fun1函数里的c
function fun2() {
console.log("c=" + c); //我是fun1函数里的c
console.log("c=" + window.c); // c=10;
}
fun2();
}
fun1();
/*
在函数作用域也有声明提前的特性,
使用var关键字声明的变量,会在函数中所有的代码执行之前被声明
函数声明也会在函数中所有代码执行之前执行
*/
// 练习三
function fun3() {
fun4(); //我是fun4中的函数
console.log("d=" + d); // d=undefined
var d = 35;
function fun4() {
console.log("我是fun4中的函数");
}
}
fun3();
// 练习四
var e = 33;
function fun5() {
console.log("e=" + e); //e=undefined 就近原则,输出函数里的e,因为e被提前声明,但没有赋值
var e = 66;
}
fun5();
// 在函数中,不使用var声明的变量都会成为全局变量
// 练习五
var f = 55;
function fun6() {
f = 66; // f没有用var声明成为全局变量,相当于把66重新赋值给f,覆盖掉了55
}
fun6();
console.log("f=" + f); //f=66
// 练习六
// 定义形参就相当于在函数作用域中声明了变量
var g = 32;
function fun7(g) {
console.log(g); //undefined 定义形参相当于在函数作用域中var g ,但是没有赋值
}
fun7();
</script>
</head>
<body>
</body>
</html>
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。