JS 函数
在js中,函数就是对象。
- 函数是由事件来驱动或被调用时执行的可重复使用的代码块。
- 函数是function关键字、函数名、()括号、{}花括号四部分组成。
function functionName() {
// 执行的代码
}
- 函数只有在调用时才会执行,即“函数不调用,自己不执行”
JS对大小写敏感,关键字function必须是小写的,函数调用时必须要与声明的函数名完全一致。
调用带参数的函数
在调用函数时,可以向其传递一些值,也就是参数。
- 这些参数可以在函数内当做变量使用
- 参数的个数依情况而定,并且参数之间用逗号分隔
- 实参与形参的顺序要保持一致
// 函数名后的括号内写的是形参(形式上的参数)
function sum(a,b) {
// 此时的a和b被当做是变量来进行加减运算
console.log(a+b);
}
// 此处的1和2就是实参(实际参数),传入的参数
sum(1,2);
带有返回值的函数
有时,我们需要函数在调用后给我们一个值,这时就需要有返回值。
通过return
语句,我们就可以在函数调用后获得一个值。return
语句还可以用来结束函数的执行。
function test() {
var x = 5;
return x;
}
// 由于test函数有返回值,所以下面的变量y此时就为5,接收了函数的返回值
// 也就相当于函数调用被返回值取代 =》test() = 5
var y = test();
即使不用变量来存储函数的返回值,也可直接使用
document.getElementById('demo').innerHTML = test();
// 此时id为demo的元素的内容就是函数的返回值5
当仅仅希望退出函数,可以直接使用return;
语句,不需要返回值
function compare(a,b) {
if (a > b) {
// 如果a大于b,直接退出函数,不执行if判断后的语句
return;
}
// 如果a小于b,计算a和b的和,并返回
x = a + b;
return x;
}
局部变量
- 在函数内部声明的变量(使用var)是局部变量,只能在函数内部访问。
- 可以在不同函数中声明名称相同的变量,因为他们的作用域是局部的,外部无法访问。
- 函数执行完就会被删除,内部的变量也会删除。
- 局部变量的优先级比全局变量的优先级高,所以局部变量会隐藏同名的局部变量。
全局变量
- 在函数外声明的,并在任意位置都能访问的变量。
- 全局变量只会在页面关闭后才会被删除。
- 函数内部的变量如果未声明就赋值的话,那么该变量会自动作为全局变量
function ac() {
carName = 'lanbojini';
// 此时的carName变量是全局变量
}