函数原型的声明有哪几种?
1. 函数原型的声明有三种。
2. 首先是无参函数原型的声明,即函数名后面直接跟上一对空括号,表示该函数不接受任何参数。
3. 其次是有参函数原型的声明,即函数名后面跟上一对括号,括号内列出函数接受的参数类型和参数名。
4. 最后是带有可变参数的函数原型的声明,即函数名后面跟上一对括号,括号内列出函数接受的参数类型和参数名,并在最后一个参数后面加上省略号(...)表示可接受可变数量的参数。
5. 这些函数原型的声明可以在函数定义之前进行,用于告知编译器函数的存在和参数的类型,以便在函数调用时进行类型检查和参数匹配。
6. 函数原型的声明可以帮助提高代码的可读性和可维护性,同时也可以避免一些潜在的编译错误。
函数原型的声明有两种:函数声明和函数定义。函数声明是指在程序中提前声明函数的名字和参数列表,以便在函数定义之前使用。函数声明的形式为:返回值类型 函数名(参数列表);函数定义是在程序中实现函数具体功能的部分,函数定义包含函数的返回值类型、函数名、参数列表和函数体。函数定义的形式为:返回值类型 函数名(参数列表) {函数体}。函数原型的声明可以让编译器提前知道函数的存在和基本信息,从而可以在需要调用函数时进行检查和匹配。这样可以提高程序的可读性和维护性。
函数原型的声明有下列三种:
1----普通函数声明方式 ------->存在函数提升会将函数提升到最上面函数是一等公民 函数的提升会在变量的提升的上面。
1 function sum(){};调用:sum()
2---函数表达式声明方式 ------> 将一个函数(匿名函数/命名函数)赋值给一个变量 不存在函数提升 变量会提升 函数体还是留在原来位置
1 var add=function(){};调用:add() //虽然命名式函数表达式有函数名,但是不能通过这个函数名来调用函数,还是只能通过被赋值的变量加上小括号才能调用。
3----构造函数声明方式
var add2=new Function();调用 :add2()
使用什么定义函数时要考虑执行和定义方法?
1、使用function关键字定义函数 -- 具有优先级,优先将function关键字定义的函数优先执行
function functionName(arg0, arg1 ,..., argN){
statements
}
函数的调用:functionName()
2、使用函数表达式的形式定义函数(即将匿名函数复制给变量)
var variable = function(arg0, arg1 ,..., argN){
statements
}
console.log(typeof variable); //function
函数调用:variable();
3、使用new Function构造函数定义函数
var variable = new Function('name','alert("hello,"+name)'); //最末尾的是函数体,其前面的都是参数
console.log(typeof variable); //function
函数调用:variable('world');
注意:
(1)使用fucntion关键字定义的函数,函数一旦声明,允许任意调用(在函数定义前、函数定义后、函数内部,可以在任意位置调用)
(2)使用函数表达式、new Function构造函数定义的函数,不能在函数定义前使用
函数的参数:
形参:函数定义时所带参数
实参:函数调用时所带参数
分类: STUDY OF FRONT-END

