总结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内置类型(基本类型如字符串)(字符串),数字(数字),布尔(布尔)等,则不会返回这个值;当返回值是对象,函数,数组对象类型时,将直接返回对象函数。阵列。
当返回值是内置类型(基本类型)时,新的乐趣()返回的确切位置是什么下一篇文章将讨论新模式调用的详细信息。