Javascript中的两个概念Function与function区别

http://www.isstudy.com/javascript/3684.html 

 Function 对象
JavaScript 核心对象Funtion 为构造函数的对象,由于开发者一般直接定义函数而不是通过使用Function 对象创建实例的方式来生成函数,对于实际编程而言,Function 对象很少涉及到,但正确地理解它有助于开发者加深对javaScript 脚本中函数概念的理解。
 两个概念:Function 与function
简而言之,Function 是对象而function 是函数。实际上,在JavaScript 中声明一个函数本质上为创建Function 对象的一个实例,而函数名则为实例名。先看如下的函数:

 function sayHello(username)
{
alert("Hello "+name);
}
输入参数“NUDT!”,返回警告框如图6.34 所示。

图 6.34 sayHello()函数的返回警告框
如果通过创建Function 对象的实例的方式来实现该功能,代码如下:
 var sayHello = new Function("name","alert('Hello '+name)");
在该方式中,第一个参数是函数sayHello()的参数,第二个参数是函数sayHello()的函数体。定义之后,可通过调用sayHello("NUDT!")的方式获得上述的结果。
通过两种构造方式的对比,可以看出所谓的函数只不过是 Function 对象的一个实例,而函数名为实例的名称。
既然函数名为实例的名称,那么就可以将函数名作为变量来使用。考察如下的代码:
 function sayHello()
{
alert("Hello");
}
function sayBye()
{
alert("Bye");
}
sayHello = sayBye;
上述代码运行后,再次调用sayHello()函数,返回的是“Bye”而不是“Hello”。

你可能感兴趣的:(JavaScript)