天天看点

JavaScript中的function函数类型

1.函数类型对象:

由function类型修饰的对象称为【函数类型对象】。

一个函数类型对象用于管理一个具体的【函数】。

开发人员如果需要调用某个【函数】时,只能通过

调用函数关联的函数对象来调用

2.如何声明一个函数类型对象:

1)标准的函数类型对象声明方式

function 函数对象名(参数名1,参数名2){

}

2) 以命令行方式声明函数对象/匿名式函数对象声明方式

var 函数对象名 = function (){};

3.声明【函数】时注意的问题:

function (p1,p2){

return 结果

}<----------------此为函数,不是函数对象

1)函数中形参在声明时,既不能使用数据类型进行修饰,也不能使用var来修饰, 直接书写形参名称即可

2)函数前方不能设置任何的返回数据类型,包括void

3)函数如果将结果返回,可以通过return,这个return后面可以没有任何内容

4.【函数】方式:

【函数】只能通过关联的【函数对象】进行调用

调用格式:

函数对象(实参1,实参2)

5.【函数对象】被创建时机:

浏览器在加载

<script>

标签时,分为两步进行加载

首先,自上而下将

<script>

标签中,所有以标准形式声明的函数对象进行创建。

然后,自上而下将

<script>

标签中,所有的命令行进行依次调用

6.【函数】参数传值方式:

1)每一个函数都自带一个arguments属性.

2)arguments属性是一个数组,负责接收当前函数, 在调用时接收的所有实参.然后负责将接收实参, 交给形参

7.arguments中callee属性

1)callee是arguments对象中一个属性。

2)callee属性是一个常量值

3) callee属性存储的当前【函数的内存地址】

4) 主要用于JavaScript中递归函数的调用问题

8.全局变量与局部变量

1)局部变量: 在一个函数内部,通过var声明的变量被称为局部变量。局部变量只能在当前函数内部使用,无法在函数外部使用

2)全局变量:

第一种定义,直接在

<script>

标签声明的变量称为全局变量.全局变量可以在当前页面中所有的函数中使用;全局变量自动分配到window对象作为其相关属性

第二种定义,在一个函数内部,没有使用var声明的变量,也是全局变量。可以在当前页面中所有的函数中使用;全局变量自动分配到window对象作为其相关属性

9.普通函数与构造函数区别:

1)JavaScript中不支持开发人员自定义数据类型

2)JavaScript中允许开发人员自定义构造函数,生成对应的实例对象

3)普通函数与构造函数区别:

JavaScript根据函数调用形式,来判断函数身份.

构造函数

var obj = new Student();

普通函数

var obj = Student();

10.函数内部中this指向:

1)如果函数以构造函数身份来调用的,此时内部this指向本次创建的实例对象

2)如果函数以普通函数身份来调用的,此时内部this指向调用当前函数对象的对象

继续阅读