您的位置:首页 > 其它

用了那么久的函数,你知道函数是怎么调用的吗??

2016-08-20 10:06 113 查看
4种调用函数方法
1.作为函数;
2.作为方法;
3.作为构造函数;
4.通过他们的call()和apply()方法间接调用。

1、函数调用

var date = Date();
var m = max(a,b,c);
在一个调用中每个参数表达式(圆括号之间的部分)都会计算出一个值,
计算结果作为参数传递给另一个函数。

2、方法调用

一个方法无非就是保存在一个对象的属性里的JavaScript函数。如果有一个函数f和对象o,则可以用下面的代码给对象o定义一个名为m()的方法:
o.m = f;
给对象o定义了方法m(),调用它时就这样
o.m();
或者m()需要两个实参,调用起来则这样:
o.m(x , y);
上面的代码是一个调用表达式:他包括一个函数表达o.m,以及两个实参表达式式x和y。
该函数被当做一个方法,而不是作为一个普通函数来调用。

3、构造函数调用

v如果函数或者方法调用之前带有关键字new,他就构成构造函数调用。
如果构造函数没有形参,都可以省略圆括号,比如下面两行代码是等价的。
var o = new Object(x,y);
var o = new Object;
构造函数调用创建一个新的空对象,这个对象继承来自构造函数prototype的属性。构造函数初始化这个新创建的对象,并将这个对象用作其调用上下文,因此构造函数可以使用this关键字来引用这个新创建的对象。
构造函数通常不使用return关键字,他们通常初始化新对象,当执行完毕函数体时他会显示返回,这种情况构造函数表达式的计算结果就是这个新对象的值。然而如果构造函数显示地使用return语句返回一个对象,那么调用表达式的值就是这个对象。如果使用return语句内胆是没有指定返回值,那么这是将忽略返回值,同事使用这个新对象作为调用结果。

4、间接调用

JavaScript中的函数也是对象,和其他JavaScript对象没什么两样。函数对象可以包含方法,其中两个call()和array()开头用来简介的调用函数,这两个方法都允许显示指定所需要的this值。call()方法使用它自由的实参列表作为函数的实参,apply()方法则要求以数组的形式传入参数。

初入js,希望学习的小伙伴能够合作交流!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: