javascript中的函数构造器声明实例

101 阅读2分钟

javascript函数声明

Javascript是一种编程语言,与其他编程语言相比具有独特的功能。函数对象的构建是其中一个很酷的特点。

函数将使用名称和函数关键字来创建。

函数将有助于执行重复的代码,避免重复编写代码。

函数的特点

1.将使用任务处理来创建

2.向调用者返回数据

3.将接受参数

4.这是javascript中的对象

函数声明语法

function nameoffunction(parameters){  
//statements  
return something or void}  

我们有很多方法可以使用声明来创建一个函数对象

简单的功能声明

可以用函数关键字和函数名来创建

例子是

  
Function add(a,b){  
return a+b;  
}  
add(3,5); returns 8 as output  

函数表达式示例

这是另一种创建函数对象的方式

  
let addFunction=function(a,b){  
return a+b  
};  
addFunction(2,4) returns 6 as output  

阵列函数表达式示例

它还可以创建没有名字的函数。这是一种较短的语法,在最新的javascript语言中引入了这种语法。

  
let addF=(a,b){  
return a+b}  
addF(4,5) returns 9 as output  

使用函数构造器对象

这是创建函数对象的另一种方式。 在javascript中,任何对象都可以用new操作符来创建,比如数字--新数字。同样地,Function对象也是用new Function()方法创建的,boolean, String, Date是一些原始类型,其余都是对象。

  
new Function({arguments }, body)  

参数是Function对象的参数。体是用引号括起来的javascript表达式
Function Construtor 示例 var add = new Function(); console.log(add) //returns nothing console.log( add(2,7))//返回未定义的结果

var add1 = new Function('p', 'q', 'return p + q');  
console.log(typeof add) //returns 'function'  
console.log( add1(2,7)) //returns 9 

使用函数构造器和函数声明关键字都提供了相同的功能,区别在于语法方面。
函数继承于Function.prototype,而Function.prototype继承于Object.prototype。Object.prototype是所有类的超类,所以函数可以重用Function.prototype和Object中的属性和方法。函数构造器和函数声明在局部和全局范围方面有一些区别。

  
var value = 50;  
  
function FunctionDeclaration1() {  
    var value = 30;  
    return new Function('return value;'); // value is returned from global variable value  
}  
  
function FunctionDeclaration2() {  
    var value = 60;  
    function innerfucntion() {  
        return value; //   this returns local variable value  
    }  
    return innerfucntion;  
}  
  
var function1 = FunctionDeclaration1();  
console.log(function1());          // 50  
var function2 = FunctionDeclaration2();  
console.log(function2());          // 60