总结Javascript中命名函数的多种调用

调用匿名函数有很多种方法。

1,()

最常用的是()操作符来调用/执行一个函数:

复制代码代码如下所示:

/ /非参数函数关系

函数关系(){

警戒(我叫);

}

需要();



一个参议院 / /大脑功能

功能的大脑(参数){

警报(参数);

}

(我的大脑被称为');



After ECMAscript3 added call and apply to Function, there are two kinds of things.

2、电话

复制代码代码如下所示:

/ /非参数函数关系

函数关系(){

警戒(我叫);

}

fun1.call(空);



一个参议院 / /大脑功能

功能的大脑(参数){

警报(参数);

}

fun2.call(null,我称之为')



3、申请

复制代码代码如下所示:

/ /非参数函数关系

函数关系(){

警戒(我叫);

}

fun1.apply(空);



一个参议院 / /大脑功能

功能的大脑(参数){

警报(参数);

}

fun2.apply(null,我称之为' } {)



虽然调用、应用程序可以纯粹用于调用执行函数,但它们更常用于更改函数执行的上下文。

4,新的(不推荐这样)

复制代码代码如下所示:

/ /非参数函数关系

函数关系(){

警戒(我叫);

}

新的关系();



一个参议院 / /大脑功能

功能的大脑(参数){

警报(参数);

}

新的大脑(我称之为)



新的本质是创造和构建一个类的实例,它被定义为关系,和大脑显然不是一个阶级(没有这个,没有原型)。但两功能做的。这是新的副作用。

执行上述调用的四种方法之间没有差别,但是如果函数有返回值,当您调用它时可能会有点失望。

复制代码代码如下所示:

具有函数返回值的乐趣

功能乐趣(){

警戒(我叫);

返回杰克;

}

新的乐趣();

警报(c);{对象对象},为什么不是杰克



对于这一变化

复制代码代码如下所示:

具有函数返回值的乐趣

功能乐趣(){

警戒(我叫);

返回{名称:杰克};

}

新的乐趣();

警报(c.name); / /杰克,再正常收益



总结:当以一种新的方式调用一个函数时,如果有返回值,当返回值是Javascript内置类型(基本类型如字符串)(字符串),数字(数字),布尔(布尔)等,则不会返回这个值;当返回值是对象,函数,数组对象类型时,将直接返回对象函数。阵列。

当返回值是内置类型(基本类型)时,新的乐趣()返回的确切位置是什么下一篇文章将讨论新模式调用的详细信息。