44-js return返回值,全局作用域,局部作用域,隐式作用域,变量的生命周期,delete释放内存

1.return返回值:函数执行后剩下结果就是返回值。

javascript 复制代码
      function fn(a,b,c){
        //return返回值
        return(a+b+c);
        // console.log("aaa");     //return之后的值都不在执行了
        // alert("bbb");           //return之后的值不在执行了
      }
      console.log(fn(1,2,3)*10);

2.作用域

查找变量的时候,会从当前作用域开始查找,如果当前作用域查找不到,逐层(外层)向上查找

2.1全局作用域

javascript 复制代码
      var a = 1;       //全局变量,在任何位置都可以找到的变量
      function fn(){
        console.log(a);
      }
      fn();
      console.log(a);

2.2局部作用域

javascript 复制代码
      function fn(){
        var a = 1;       //局部变量,只能在当前的作用域里面使用
        console.log(a);
      }
      fn();
      console.log(a);

2.3隐式全局变量

在函数体内部,没有使用var声明的变量

javascript 复制代码
      function fn(){
        var a = 1;
        b = 2;        //隐式全局变量
      }
      fn();
      //隐式全局变量,会在当前函数体调用以后,变成全局变量
      console.log(b); //2
      console.log(a); //报错

var a = b = 1;

javascript 复制代码
      function fn(){
        var a = b = 1;
        //var a,b,c=1;      只有c被赋值了
        // var a = 1;       局部变量     相当于
        // b = 1;           隐式全局变量
      }
      fn();
      console.log(b);   //1
      console.log(a);   //报错

3.变量的生命周期

全局变量和局部变量都是从被声明时开始;全局变量,直到页面关闭以后结束;局部变量,所在函数体调用以后结束

3.1全局变量生命周期

javascript 复制代码
      var a = 10;       //全局变量
      function fn(){
        a++;
        console.log(a);
      }
      fn();
      fn();
      fn();

3.2局部变量生命周期

javascript 复制代码
      function fn(){
        var a = 10;     //局部变量
        a++;            //运行一次之后此行和上一行失效
        console.log(a);
      }
      fn();
      fn();
      fn();

3.3释放内存 delete删除

一个页面当中,局部变量多更好,局部变量用完可以及时删除,自动释放内存,全局变量会一直在很占内存

javascript 复制代码
      // delete删除
      var a = 1;
      b = 2;
      delete a;
      delete b;
      console.log(a); //1,  a没被删除
      console.log(b); //报错,b被删除了
      //显示全局变量无法通过delete删除
相关推荐
海参崴-14 小时前
C++代码格式规范
java·前端·c++
Dxy123931021614 小时前
JavaScript 如何捕获异常:从基础到进阶的完整指南
开发语言·javascript·udp
谢尔登15 小时前
【React】setState 触发渲染的流程
前端·react.js·前端框架
摸鱼仙人~15 小时前
Vue中markdown-it基础使用教程
前端·javascript·vue.js
落魄江湖行15 小时前
入门篇二:Nuxt 4路由自动生成:告别手动配置路由的日子
前端·vue.js·typescript·nuxt4
CQU_JIAKE16 小时前
4.4【Q】
java·前端·javascript
小陈工16 小时前
Python Web开发入门(十二):使用Flask-RESTful构建API——让后端开发更优雅
开发语言·前端·python·安全·oracle·flask·restful
木斯佳16 小时前
前端八股文面经大全:字节前端一面(2026-04-03)·面经深度解析
前端·面试题·面经
xiaotao13116 小时前
第八章:实战项目案例
前端·vue.js·vite·前端打包
GISer_Jing16 小时前
Electron 全场景调试实战指南
javascript·electron·状态模式