js--函数

来源:互联网 发布:联想网络控制器驱动 编辑:程序博客网 时间:2024/06/10 23:19

函数的四种调用的方法:


1.作为函数,在这里函数被调用,以一种很直接,易懂的方式。
2.作为方法,方法是连接在对象上面的,被这个对象调用,这中形
式就是面向对象编程。
3.作为构造器,在构造的过程中一个新的对象被创建出来。
4.经由函数的apply()call()方法,这是一般比较复杂的概念


如果传入的变量和函数定义的变量的个数不同的时候并不会报错;
JavaScript在处理这个问题上很优雅,处理的具体细节如下:

·如果调用时候传入的参数数目多于函数定义的变量个数,多出来的变
量不会赋值到函数定义时候的有名字的参数上。但我们仍然有方法获取
到这些多出来的变量。
·如果函数定义的参数数目多于传入的变量,多出来的变量则会是
undefined
非常有趣的一个地方是每个函数在被调用的时候,隐性的传入两个参数:
arguments this
隐性的意思是,这两个参数不会在函数定义的时候出现,但是他们会在
函数被调用的时候悄悄的传入函数,并且作用域函数的作用域中。
不过他们可以被直接引用,就像其他显性定义的函数参数一样。


函数的调用模式:

function ninja(){};ninja();var samurai = function(){};samurai();
这个时候调用的函数的上下文为window对象

方法调用模式(Invocation as a method)

一个函数是一个对象的属性,当这个函数被调用时候,这个函数就视为
这个对象的一个方法,例如:

var o = {};o.whatever = function(){};o.whatever();
当这个函数作为一个对象的方法被调用的时候,这个对象就成为了这个
函数的上下文(function context),
并且通过 this 函数作为载体存在于函数之中。













0 0
原创粉丝点击