JavaScript函数是指一个特定代码块,可能包含多条语句,可以通过名字来供其它语句调用以执行函数包含的代码语句。
比如我们有一个特定的功能需要三条语句实现:
statement1;
statement2;
statement3;
那么每次想实现这个功能的时候就需要写这三句话,很麻烦,我们可以把这三条语句打包为一个函数
function doSomething(){
statement1;
statement2;
statement3;
}
这样每次想实现功能的时候我们就调用一下函数就可以了,调用函数通过函数名称()的形式调用
doSomething();
声明函数
- 函数声明
function printName(){
console.log('阿里云');
}
printName()
- 函数表达式
var printName = function(){
console.log('阿里云');
};
printName();
参数
function printName(name){
console.log(name);
}
printName('hunger');
printName('valley);
函数在定义的时候可以写多个参数
function printPersonInfo(name, age, sex){
console.log(name);
console.log(age);
console.log(sex);
}
arguments
在函数内部,你可以使用arguments对象获取到该函数的所有传入参数
function printPersonInfo(name, age, sex){
console.log(name);
console.log(age);
console.log(sex);
console.log(arguments);
console.log(arguments[0]);
console.log(arguments.length);
console.log(arguments[1] === age);
}
printPersonInfo('阿里云', 3, 'male');
返回值
有时候我们希望在函数执行后给我们一个反馈,就像表达式一样,给我们个结果,我们可以通过return来实现
function fn(a, b){
a++;
b++;
return a + b;
}
var result = fn(2, 3);
console.log(result);
声明提前
和变量的声明会前置一样,函数声明同样会前置,如果我们使用函数表达式那么规则和变量一样
console.log(fn) //undefined
var fn = function(){}
如果我们使用函数声明的方式,那么即使函数写在最后也可以在前面语句调用
fn() // "1"
function fn(){
console.log('1')
}