一、 函数封装
函数封装概念
函数封装是一种函数的功能,它把程序员写的一个或者多个功能通过函数的方式封装起来,对外只提供一个简单的函数接口(其实所说接口就是方法)。
比如说,数组遍历:
var arr = [1,2,3,4,5];
for (var i = 0; i < arr.length; i++) {
console.log(arr[i])
}
以上写法只能实现一个数组的遍历,当我们有很多数组需要遍历的时候,只能复制for循环,重写代码来实现。可它们明明是一样的代码,知识数组不同,这样会产生很大的冗余。
于是我们可以将for循环封装到一个函数中,在遇到需要数组遍历的时候,只要引入并调用这个函数即可实现任何数组的遍历。
var arr1 = [1,2,3,4,5];
var arr2 = [9,8,7,6,5,4];
function arrbl(arr){
for (var i = 0; i < arr.length; i++) {
console.log(arr[i])
}
}
//遍历arr1
arrbl(arr1);
//遍历arr2
arrbl(arr2);
这个和我们之前使用的数组方法有异曲同工之妙,但是原理并不相同,不要混为一谈。
封装函数的三个要素;
功能、参数、返回值。
实际在运用函数封装的过程中,有许多情况我们会设置返回值,这是一种很好的操作,当然如果不需要的话,可以不设置。
函数封装事例
封装奇偶数判断方法
function isOuShu(num){
if(num%2==0){
return true;
}else{
return false;
}
自然数之和
function sumfromNToM(n,m){
var sum = 0;
for(var i=n;i<=m;i++){
sum=sum+i;
}
return sum;
}
判断闰年
function isLeapYear(year){
if((year%4==0 && year%100!=0)||(year%400==0)){
return true;
}
return false;
}
生成4位的验证码
function getFourNum(){
var str="";
for(var i=0;i<4;i++){
str += parseInt(Math.random()*10);
}
return str;
}