经常会用到函数,是因为封装的函数只需要定义一次代码就可以重复使用,可以通过改变参数来达到不同的效果。
Javascript函数是被设计为执行特定任务的代码块,会在某段代码调用它的时候被执行。
例如:
function myFun(n1, n2) {
return n1 + n2; // 该函数返回n1 和 n2的和
}
//直接调用:
myFun(n1, n2)
//用做变量值,将调用函数返回的结果赋值给变量:
var num = myFun(1, 4); //num = 5
js函数的语法:
- 函数是通过function关键词进行定义的,其后的是函数名 和括号 ( )
- 函数名可以包含字母、数字、下划线和$(规则和变量名相同)
- 括号内是由逗号分隔的参数:
function myFun(n1, n2) {} //n1,n2为参数
函数参数是在函数定义的时候所列举的名称,当调用函数的时候是需要用真实的值。
类似例子中的,定义函数用的参数为n1,n2,实际我们可能要用1 和4这种真实的值。
在函数中,参数属于局部变量。
js函数的调用
函数中的代码在其他代码中调用该函数时执行:
- 当事件发生时(当用户点击了按钮)
- 当js代码调用时(var a myFun(1, 2))
- 自调用函数(代码执行到此处时自动调用)
js函数的返回
当js中碰到 return 语句时,函数将停止执行。
如果函数被某条语句调用,js将在调用语句之后return,也就是返回执行的代码。
函数通常会通过计算出返回值,这个返回值会返回给调用者:
function myFun(n1, n2) {
return n1 + n2; // 该函数返回n1 和 n2的和
}
//调用
var num = myFun(1, 4); // 调用函数,返回值被赋值给num,num的结果将会是 5
访问没有()的函数将会返回函数的定义
使用上面的例子:
function myFun(n1, n2) {
return n1 + n2; // 该函数返回n1 和 n2的和
}
//调用
var num = myFun(1, 4); //返回:5
var num2 = myFun; // 返回:function myFun(n1,n2) {return n1 + n2;}
注意: myFun 引用的是函数的对象,而 myFun() 引用的是函数的结果。
局部变量
在函数种声明的变量被称为局部变量。
局部变量只能在函数内访问。
局部变量在函数开始时创建,在函数完成时被删除。
//此处代码不能使用 n1
function myFun() {
var n1 = 123;
}
//此处代码不能使用 n1