函数是什么
一个特定代码块,可能包换多条语句,可以通过名字来供其他语句调用以执行函数包含的代码语句
一,声明函数
1.构造函数
函数也是对象的一种,可以通过构造函数,使用new来创建一个函数对象
var sayHello = new Function("console.log('hello world');)";
//等同于
function sayHello(){
return hello world
}
不推荐使用,2.函数声明(Function Declaration)
使用function关键字声明一个函数。function命令后面是函数名,函数名后面是一对圆括号,里面是传入函数的参数。函数体放在大括号里面。
//函数声明
function sayHello() {
console.log('hello')
}
//函数调用
sayHello()
声明不必放在调用前面3.函数表达式
采用变量赋值的写法
var print = function(s) {
console,log(s);
}
声明必须放到调用的前面
这种写法讲一个匿名函数赋值给变量。这时这个匿名函数又称函数表达式(Function Expression)。因为赋值语句的等号右侧只能放表达式。
采用函数表达式声明函数时,function命令后面不带有函数名,如果加上函数名,该函数名只在函数体内部有效,在函数体外部无效
- 4.参数
函数运行时候,有时需要提供外部数据,不同的外部数据会得到不同结果,这种外部数据就叫参数
function sayHello(name){
console.log('hello '+ name)
}
sayHello('张翼翔')
sayHello(‘豹秃泉’)
声明时不执行函数,调用才执行
函数在定义时候可以写多个参数
function printInfo(name, age , sex){
arguments
在函数内部,你可有使用arguments对象获取到该函数的所有传入参数
类数组对象,用过下标的方式获取到里面的值,但是本事不是一个数组(数组有个属性,length,里面属性的数量
函数的重载
JS严格上没有函数重载的,但是可以使用arguments和实参的类型进行模拟返回值return
return是需要函数返回一个结果时使用的关键字
注意点
1.如果部写return语句,函数也会默认给我们返回undefined
2.函数在执行过程中,只要遇到return就会立即结束退出函数体
function fn(a){
if (a<0> {
return;
}
//下面没用else,但效果一样
a++;
return a+a