JavaScript----函数知识总结

--> 对象(实例对象) -->(属性+方法)

    属性:描述对象的(属性不存在输出undefined,不会报错) - 一般都是私有的

    方法:对象具有的功能 - 分成主动的方法和被动的方法(事件) - 一般都是公有的


系统提供的类(构造函数) + 系统提供的对象(属性和方法)

方法和函数function的关系非常密切;方法由function来实现的。


ECMAScript 中的函数使用 function 关键字来声明,后跟一组参数以及函数体。    

function:声明函数的关键字
    fn:自定义函数名
    ():参数
    {}:函数体,调用函数执行的函数体。
    function fn(str) {
        alert(str);
     }

函数的调用:函数名()【函数一定要调用才有意义】  

  例:fn('aa'); 
    //声明函数
    function fn(str) {
        alert(str);
    }

函数的编写

    一、声明式:普通函数,一定有函数名称。

function fn(参数){
    函数体;
}

    二、赋值式(匿名函数):函数表达式,函数赋值给变量【自执行函数、事件处理函数】

var fn = function (参数){
    函数体;
}

  1、函数表达式: 【自执行函数】:定义和调用在一起 - 一次性;下面是我们常见的两种自执行函数的写法。

//a.使用括号
(function() {
    函数体;
})();

//b.使用感叹号
! function () {
    函数体;
}();

        2、函数表达式:【事件处理函数】,将一个函数名(函数体)赋值给事件(被动的方法)        document:文档对象

function fn2() {
    alert('点击文档触发');
}
//函数名后面带有(),刷新时函数已经触发了
document.onclick = fn();
//点击时触发
document.onclick = fn; 
document.onclick = function() {
    alert('点击文档触发');
}

三、函数名等于整个函数结构体(函数名就是函数指针)           

alert(fn); 
function fn() {
    alert('普通函数,有名字');
}
 

函数与方法的关系:

    1.函数是自由的,方法是不自由的,任何函数都是window下面的方法

    2.变量是自由的,属性是不自由的,任何变量都是window下面的属性

    3.函数的种类

        按照大类进行划分 - (声明式【普通函数】:有名字的函数;赋值式【函数表达式】:匿名函数)

            普通函数

            函数表达式:将函数体赋值给变量

            自执行函数:执行一次

            事件处理函数:将函数体赋值给事件(被动的方法)


函数的概念:

    1、函数实际上是对象, 同时也是对象的构造器。 

    2、每个函数都是 Function 类的实例对象, 而且都与其他对象一样具有属性和方法。 

    3、由于函数是对象,因此函数名实际上也是一个指向函数对象的指针( 函数名等同于函数体)

    4、普通函数可以封装任意多条语句, 而且可以在任何地方、 任何时候调用执行。

构造函数:也是函数,它的特点是【首字母大写,必须new关键字来调用】。

函数不调用,当做此函数不存在。

函数名等同于函数体

typeof 函数 返回function类型。


参数的声明:

    1、函数的参数包括形参和实参

        形参:形参出现在函数声明中,在整个函数体内都可以使用。形参相当于定义在函数内部的变量,是形式上存在(即声明了没赋值)

        实参:而实参则出现在函数调用中,实参将对应的值传递给形参。实参是具体的值。

    2、函数不介意传递进来多少参数,也不会因为参数不统一而错误。

    3、实际上,函数体内可以通过arguments 特殊对象来接收传递进来的参数。

        arguments对象是一个类数组(类似数组)对象

        类数组:一组数据(多个数组),具有length属性和索引下标取值的特点。

        length:数组的长度

        索引下标:默认给数组项添加索引编号,编号从0开始


函数的返回值:

    函数都有一条return语句,return语句导致函数停止执行,并返回它的表达式的值给调用者。

    如果return语句没有相关的表达式,则返回undefined。


函数是对象,同时也是对象的构造器

对象的属性和对象的方法

对象的概念:对象是属性的无序集合。

为什么没有方法,因为一个属性的值如果是函数,调用的时候变成方法了。


function hehe() {
    console.log(1);
    console.log(2);
    console.log(3);
}

function fn() {
    hehe(); //调用一个函数,实质上就是将函数内部的代码载入执行即可。
}

fn();

函数的好处

    函数是用来帮助我们封装、 重用、 扩展及调用代码的最方便的工具!

    封装:函数体里面可以放置任意条语句【将重复性代码进行整合】

    重用:封装好的函数(功能),反复使用,重复使用。

    扩展:函数的参数可以让函数变得更灵活,多变。

函数注意事项 

    函数名等于函数体 

    typeof 函数-- -- 函数类型为:function 

    声明的函数如果不调用, 函数相当于不存在;通过调用找函数。

猜你喜欢

转载自blog.csdn.net/qq_39264561/article/details/106862104