标签:nbsp set javascrip 效率 文件 目标 形参 重要 冲突
<script> //全局作用域: 整个script标签 或者是一个单独的js文件 var num = 10; var num = 30; console.log(num); //局部作用域(函数作用域) 在函数内部就是局部作用域 这个代码的名字只在函数内部起效果和作用 function fn() { // 局部作用域 var num = 20; console.log(num); } fn(); </script>
<script> var num = 10; // num就是一个全局变量 console.log(num); function fn() { console.log(num); } fn(); // console.log(aru); // 局部变量 在局部作用域下的变量 后者在函数内部的变量就是 局部变量 // 注意: 函数的形参也可以看做是局部变量 function fun(aru) { var num1 = 10; // num1就是局部变量 只能在函数内部使用 num2 = 20; } fun(); // console.log(num1); // console.log(num2); // 从执行效率来看全局变量和局部变量 // (1) 全局变量只有浏览器关闭的时候才会销毁,比较占内存资源 // (2) 局部变量 当我们程序执行完毕就会销毁, 比较节约内存资源 </script>
<script> // js中没有块级作用域 js的作用域: 全局作用域 局部作用域 现阶段我们js 没有 块级作用域 // 我们js 也是在 es6 的时候新增的块级作用域 // 块级作用域 {} if {} for {} // java // if(xx) { // int num = 10; // } // 外面的是不能调用num的 if (3 < 5) { var num = 10; } console.log(num); </script>
<script> var num = 10; function fn() { // 外部函数 var num = 20; function fun() { // 内部函数 console.log(num); } fun(); } fn(); </script>
案例:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <script> // 案例1 : 结果是几? function f1() { var num = 123; function f2() { var num = 0; console.log(num); // 站在目标出发,一层一层的往外查找 } f2(); } var num = 456; f1(); // 案例2 :结果是几? var a = 1; function fn1() { var a = 2; var b = ‘22‘; fn2(); function fn2() { var a = 3; fn3(); function fn3() { var a = 4; console.log(a); //a的值 ? console.log(b); //b的值 ? } } } fn1(); </script> </head> <body> </body> </html>
标签:nbsp set javascrip 效率 文件 目标 形参 重要 冲突
原文地址:https://www.cnblogs.com/qingfengyuan/p/12966870.html