1,函数的定义
函数(function),又称为方法(method),或过程(procedure)
是一块提前定义好的,并可以被反复使用的代码块。
其实函数就是一个封装代码段的对象,函数名只是一个引用对象的变量
函数是一个引用类型的对象
2,函数声明
语法:
function 函数名(){
//代码块(函数体)
}
函数调用:
使用已声明好的函数
语法:
函数名();
强调:函数只有被调用时,才会被执行!
定义函数的第二种方法;
var 函数名 = function(参数){
函数体;return 返回值
}
与第一种对比:
第一种方法,整体(函数名+函数定义)提前
第二种方法:函数定义不会被提前,仅函数名提前;
定义函数的第三种方法(不常用):
用new:
var 函数名 = new Function ("a","b","return a-b");
强调:所有形参必须放在""中
3.带参数函数的声明和调用
参数变量:专门接收方法执行所必须的数据的变量
如何使用:如果一个函数,必须提供指定数据,才能正常执行时需要提供几个数据,就定义几个接收
如何定义参数:不需要Var,直接在函数名后的括号中定义参数,每个参数名之间用逗号分隔
为什么使用参数:参数可以让方法变得更加灵活
语法:
function 函数名(参数列表){
参数可以参与运算
}
参数列表:由参数名称组成,多个参数得话用 ,分隔 分隔声明函数时定义得参数称为形参
调用带参数函数
函数名(参数值列表)
参数值列表:由具体数值来组成,多个数值之间用,分隔。调用函数时,传递得函数值称为实参
如果传入参数个数不符,不会报错:
个数多了,多出得没用
个数不够,未接到值得参数变量,默认值为undefind
4.带返回值得函数声明和调用
返回值:函数运行完成后,带给函数调用者得"一个"数据
语法:
function 函数名(参数列表);{
//函数体
return 返回值
}
调用:
var result = 函数(参数列表);
ex: var result = passeInt("33.5");
return特点:
1:return 与返回值之间不能加回车
2:return 不能放在其他表达式中间使用,执行完return语句 将跳出函数
如果一个表达式或函数有结果 就可直接当一个值用
function sum(a,b){
return a+b;
}
console.log(sum(3,4));
5.匿名函数
匿名函数是指函数创建时,不指定函数名得函数
作用:节约内存(调用前和调用后,内存中不创建任何函数对象)
何时:只要一个函数仅执行一次时,就必须用匿名函数
如何:两种
1.回调函数:
arr.sort(function(a,b){return a-b})
str.replace(/reg/ig,function(kw){return 替换值})
2.自调:创建函数后,立刻调用自己!
何时:如果一段代码,不希望其中得变量造成全局污染时,就要放在匿名函数中自调
语法:两种:
+function(){}()
(function(){})()