zoukankan      html  css  js  c++  java
  • 函数 && 函数运行机制

    在js中,函数就是一个方法(一个功能体),基于函数一般都是为了实现某个功能

    函数诞生的目的就是为了实现封装,把实现一个功能的代码封装到一个函数中,后期想要实现相同功能,只要执行这个函数即可,不必再次重复编写代码,起到了 “高耦合,低内聚”的作用

    高耦合,低内聚:减少冗余代码,提高代码的重复使用率

    //语法
    function 函数名称( 参数 ){
    
         函数体:实现功能的js代码
    
    }
    
    函数名() ;//执行函数
    
    //ES6 箭头函数
    
    let 函数名( 变量名 )=( 参数 )=>{
    
       函数体
    }
    function fn(){
    
       var num=10;
       ....
    
    }
    
    
    let fn=()=>{
    
      let num=10;
    
    }
    
    fn();

    函数作为引用数据类型中的一种,它也是按照引用地址来操作的,接下来学习一下函数的运行机制:

    创建函数:

    1、首先会开辟一个新的堆内存,把函数体的代码当做字符串存储到内存中

    2、把开辟堆内存的地址赋值给函数名(变量名)

    执行函数:

    把之前储存到堆内存的代码字符串变为真正的代码执行,实现应有的功能

    1、函数执行,首先会形成一个私有作用域(栈内存,代码执行的环境)

    2、把之前储存在堆内存的代码字符串复制一份过来,变成真正js代码,在新开辟的作用域中 自上而下执行

    函数的形参和实参

    参数是函数的入库:当我们在函数中封装一个功能,发现原材料不确定,需要执行函数的时候传递进来,此时就基于参数的机制,提供出入口即可

    例如:求任意两个数的和,参数是任意不知道的两个数

    function sum(n,m){//形参变量  入口  n和m代表要求和的两个数字
    
        return n+m;
    }
    
    sum(10,30);//实参  具体的数据值  n是10,m是30
    sum(50);//n是50,m是 undefined
    sum();//n,m 都是 undefined
    sum(1,2,3);//n 是1,m是2,3没有接收的形参变量

    形参:函数创建时的入口,是函数的私有变量,只能在当前私有作用域起作用,可有多个

    实参:函数执行的时候传递的具体的数据值

     arguments形参集合

  • 相关阅读:
    虚方法与非虚方法,native关键字
    Java多态
    Java对象初始化顺序
    继承、初始化
    递归,斐波那契,对象类型数组
    方法重载
    可变形参
    idea
    ss 如何解决margin-top使父元素margin失效
    js中call和apply的用法和区别
  • 原文地址:https://www.cnblogs.com/xinxinxiangrong7/p/11431705.html
Copyright © 2011-2022 走看看