了解JS函数的详细使用方式 | 8月更文挑战

219 阅读2分钟

这是我参与8月更文挑战的第7天,活动详情查看:8月更文挑战

函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块。

定义函数

函数声明

function 函数名(形参列表){
    函数体;
    [return 返回值]
}

函数表达式

var fn = function(形参列表){
    函数体;
    [return 返回值]
}

充当了表达式,就不能充当一个正常的函数了。当等号右边有函数名时,会自动忽略

通过new Function

var fn = new Function(['形参列表'],'函数体')

调用函数

直接调用

函数名(实参列表)

在链接中调用

在事件中调用

事件类型="函数名()"

递归调用

在函数体内部调用函数本身

function 函数名aaa(){//代码体;函数名aaa()}


方法

函数刚刚出生的时候,就有一些东西了,包括一些方法。

call / apply 

作用:改变this指向

区别:传参形式不同;在传参的第二部分,call需要把实参按照形参的个数传进去,apply需要传递一个数组arguments;

toString  返回函数的字符串表示


arguments对象

功能:存放实参列表

特性:

1.在函数声明时自动初始化

2.仅在函数体内使用

3.带有下标属性,但并非真数组

属性:

1.length 获取函数实参列表长度

2.callee  返回当前执行的函数,即指向函数自身引用

3.caller 事实上,指向调用当前函数的函数;即是指向函数呼叫者


函数参数

参数类型

1.形参:函数定义时使用的变量参数

2.实参:调用函数时传递给函数的实际参数

特点

1.参数个数没有限制:

    (1)当实参<形参时,多余的形参==undefined

    (2)当实参>形参时,多余的实参被忽略

2.参数的数据类型没有限制

3.通过arguments对象访问参数列表

4.参数始终按值传递:

    (1)基本数据类型,传值    

    (2)引用类型,传地址


指针标识

this 

指向当前操作对象

callee

指向参数集合所属函数

prototype

指向函数的原型对象

constructor

指向创建该对象的构造函数