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