美文网首页
第十七章 函数进阶

第十七章 函数进阶

作者: 扶光_ | 来源:发表于2021-05-25 17:03 被阅读0次

一,函数定义

函数的三种定义方式

1.函数声明定义(一般封装用 可以声明提升)

              function函数名(){}
                   函数名();

2.函数表达式定义 (不存在声明提升 会报错)

  • 2.1匿名式函数表达式

                    var fn = function(){}  看function后面有没有名字 没有名字就是匿名
    
  • 2.2.命名式函数表达式

                        var fn = function show(){}
                          fn();
    

3.构造函数定义

                       var fn = new function("x","y","alert(x+y)");
                        fn(1,2);

二,函数调用

1.函数模式调用

           var b = "啊啊啊";//创建的全局变量在window里面
            function show(){
                var b = "哦哦哦"
                console.log(b);
            }
            show();

猜想最后会输出哦哦哦还是啊啊啊

函数模式调用
因为会先使用函数里面的变量 那么如何输出外面的啊啊啊呢 用this
           var b = "啊啊啊";//创建的全局变量在window里面
            function show(){
                var b = "哦哦哦"
                console.log(this.b);
            }
            show();
this

2.方法函数调用

当函数体在对象里面

           var age = 28;
            var obj = {
                "age":18,
                "fn":function(){
                    console.log(age);//28
                    console.log(this.age);//18  因为是obj调用的  所有this是obj
                }
            }
            obj.fn();//函数调用
函数方法调用

3.构造函数

   function Person(){
                console.log("aaa");
            }
            var ming = new Person();  //已经实例化不需要再写了
            ming;
构造函数调用

三,call和apply

call和apply都是用来改变this的指向的 下面来举一个例子
首先创建两个对象 一个teacher对象 一个student对象 ,然后用teacher的this去指向student里面的变量

var teacher = {
    ming:"张三",
    fn:function(a,b){
            console.log("姓名"+this.ming+"班级"+a+"成绩"+b);
    }
}
//调用
teacher.fn(1,60);

var student = {
    ming:"侯旭"
}
//使用call和apply改变this指向
teacher.fn.call(student,2,100 )

teacher.fn.apply(student,[3,85]); //多个值就是传参时的形式不一样 apply是数组
apply和call
  • call和apply的区别
    call里面的参数正常去写
    apply多个参数的时候后面要用[ ]去写

相关文章

  • python 函数进阶

    函数进阶 目标 函数参数和返回值的作用 函数的返回值 进阶 函数的参数 进阶 递归函数 01. 函数参数和返回值的...

  • python 函数进阶

    函数进阶 目标 函数参数和返回值的作用 函数的返回值 进阶 函数的参数 进阶 递归函数 01. 函数参数和返回值的...

  • Python函数高阶

    函数进阶 目标 函数参数和返回值的作用 函数的返回值 进阶 函数的参数 进阶 递归函数 01. 函数参数和返回值的...

  • 17 函数进阶

    函数进阶 目标 函数参数和返回值的作用 函数的返回值 进阶 函数的参数 进阶 递归函数 01. 函数参数和返回值的...

  • 第十七章 函数进阶

    一,函数定义 函数的三种定义方式 1.函数声明定义(一般封装用 可以声明提升) 2.函数表达式定义 (不存在声明...

  • 07 C函数

    1、why函数? 2、函数进阶 3、递归函数

  • 进阶篇:JS函数 (5)

    饥人谷学习进阶第 5 天 JS函数 函数和作用域 JavaScript函数是指一个特定代码块,可能包含多条语句,可...

  • 06.1.Python函数续

    目标 函数参数和返回值的作用 函数的返回值 进阶 函数的参数 进阶 递归函数 01. 函数参数和返回值的作用 函数...

  • 11.Python函数续

    目标 函数参数和返回值的作用 函数的返回值 进阶 函数的参数 进阶 递归函数 01. 函数参数和返回值的作用 函数...

  • 10.Python函数续

    目标 函数参数和返回值的作用 函数的返回值 进阶 函数的参数 进阶 递归函数 01. 函数参数和返回值的作用 函数...

网友评论

      本文标题:第十七章 函数进阶

      本文链接:https://www.haomeiwen.com/subject/rnlcsltx.html