微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

js函数-01

声明式函数

function 函数名(){

}

声明式函数,可以在定义函数之前调用,也可以在定义函数之后调用

赋值式函数

赋值式子创建函数调用的时候只能在函数之后调用
函数运行的结果可以赋值给一个变量。

var 函数名=function(){

}
//同一个文档下不要出现相同的函数名,否则下面的函数会覆盖到上面的函数
//可以赋值使用
 function sums(num1,num2){//参数 形式参数
            document.write(num1+num2);
        }
        sums(100,200);//实际参数
        sums(50,60);
        sums(1,9);
        alert(sums(666,888));//underfined 因为sums仅仅是打印
        //返回值,没有将结果给到我们

内存的运行机制:

    内存分为:栈内存、堆内存
    栈内存--存放基本数据类型,函数名在栈内存
    堆内存--存放复杂数据类型、引用数据类型,函数体在堆内存
    函数定义阶段
    第一步,先在堆内存中开辟空间
    第二步,把函数体内的代码原样复制到内存空间内,我们写代码,写在硬盘上。
    第三步:把内存的地址 赋值给栈内存的函数
    函数:声明函数调用函数---声明式函数、赋值式函数
    --函数调用阶段(熟练记忆):
    按照函数名存的地址找到对应的函数
    先判断栈内存中是否有这个变量
    如果存在这个变量,也会判断,你这里面存储的是否是一个函数
    在调用栈内存开辟一个新的函数执行空间
    在执行空间内,给形参赋值
    对函数体内的代码进行预解析
    对函数体内的代码,执行一遍
    完成以后 这个执行空间被销毁或者理解为空间被收回

作用域:

<script>
        //全局作用域
        //一个html打开这就是一个全局作用域
        //=>window(了解)
        //局部作用域 私有作用域
        //只有函数才有if while do while for他们都没有局部作用域
        //作用域的上下级关系
        //定义在那个作用域内的函数 就是那个作用域的子级作用域
        // function test(){
        //     function haha(){

        //     }
        // }
        //变量的定义
        //定义在那个作用域下 这个变量就是那个作用域的私有变量
        //只能在这个作用域下或者这个作用域的子级作用域内使用
        //不能在父级作用域使用=>
        function test(){
            var haha=666;
        }
        alert(haha)
        //变量的访问
        //首先在自己的作用域查找 如果有 那么直接使用
        //如果没有自动到父作用域查找 父作用域有 那么就使用
        //如果还没有 再往上一级 直到全局作用域 发现还没有 那么 报错
        //xx is not defined
        //变量的赋值
       //现在自己的作用域内部查找 如果有直接赋值
       //如果没有自动到父作用域查找 父作用域有 那么就使用 停止查找
       //父作用域如果没有再往上到父级 直到全局作用域 发现还没有 那么 报错
         //xx is not defined
         
        var a=10;
        var b=a;

    </script>

递归:

10!(阶乘)10以内的阶乘

function fn(num){
    if(num==1){
        return 1;
    }
    return num*fn(num-1);
}
console.log(fn(4));

注意:递归也是有限制的,不能无限次的调用自己
    

原文地址:https://www.jb51.cc/wenti/3280816.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐