用了那么久的函数,你知道函数是怎么调用的吗??
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,希望学习的小伙伴能够合作交流!!
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,希望学习的小伙伴能够合作交流!!
相关文章推荐
- .prg文件中自定义了一些过程和函数'该怎么调用?
- 怎么用 c#调用Windows API 函数弹出出面窗口!!!!急!!!
- C++怎么调用C#函数
- VC++线程函数内怎么调用外部函数
- 用户控件中怎么调用App_Code中的函数
- 一个aspx页面有2个按钮,都是服务器控件,服务器上的DLL如何知道用户点击了哪个按钮,从而按钮的事件函数被调用
- discuz怎么根据连接知道调用的是什么模板页面
- php 怎么确保两个函数被调用的顺序
- asp怎么在类里写函数调用数据库读取数据
- 函数调用你知道几种方法
- 函数返回数组怎么调用啊?
- 在c#中怎么调用ExitWindowsEx函数实现XP的关机、注销、重启操作?
- 请问怎么在一个ImageButton控件里面调用JS的函数
- [Javascript] arguments.callee.caller(如何知道到函数被谁调用了)
- UNICODE中我调用了一些库,库中函数不支持Unicode怎么办
- 在codebehind中调用WebService中的函数,如果找不到怎么办?
- 函数调用和返回时,堆栈是怎么变化的?
- JavaFx推出那么久了,我怎么才知道?
- 调用函数失败怎么办
- 父类的正常成员函数子类可以使用,并不是继承下来 的,子类是怎么调用父类的函数 : 可能是利用了一种叫函数名联编的方法.没有隐藏的情况下用函数名字来决定调用的函数.