js创建函数的方法

1,031 阅读2分钟

今天开始说一下js创建函数的方法,函数其实是一个对象,是存在于变量当中的,可以作为函数的参数传递,也可以在函数中创建和函数中返回。

函数名命名规则和变量命名规则一样,都是驼峰式命名,见名思意,函数名表达函数执行的作用当执行到当前script标签时,预先将当前script标签中所有的命名函数先存储在堆中,并且在栈中给他定义函数名引用该函数地址script标签中的函数一旦创建成功,面的所有script标签中都可以使用该函数,但是再当前script标签前的script标签不能使用 所以最好把装有函数的script写在最前面

回调函数: 函数分为三种形式:

1、命名函数定义

     function abc(){
        console.log("a");
    }
    var fn=abc;  //把函数abc地址赋值传给fn
    fn();  // 或者  abc();      =>  执行函数
    // abc是函数名

2、匿名函数定义 // 匿名函数没有名字 // 可以设置给一个变量,或者设置给一个对象的属性 // 命名函数可以在函数定义之前(同一个script内)和之后(script标签可以相同,可以不同)执行,但是匿名函数只能在函数定义后执行 变量匿名函数

      var fn=function(){
    }
     对象方法定义
    var obj={
        fn:function(){

        }
    }
     自执行函数  // 缺点:只能执行一次,无法再次调用,会造成内存泄漏
    (function(){

    })();

3、构造函数定义

         var fn=new Function("参数1","参数2",..."函数内容")
// 构造函数中,前面的内容就是这个创建函数的所有参数,最后一个内容就是这个函数执行语句块
// 要求所有内容都必须是字符串
// 缺点:构造函数创建函数缺点是运行速度慢,效率低,因为需要将所有的字符串转换为代码