前端基础——JavaScript中的函数

函数的作用

通过函数可以封装任意多条语句,而且可以在任何地方、任何时候调用执行。

函数的定义

函数使用function声明,后跟一组参数一级函数体,语法如下:

function functionName([arg0,arg1,…argn]){

statements

}

// 声明函数
function myFun(){
	alert("It is a function!");
}
// 函数调用
myFun();
//声明一个有参数的函数
function add(x, y){
	var sum = x+y;
	document.write(sum);
}
add(3,7);
document.write("<br />");
add(130,220); // 函数可以多次调用

  

说明:

1、functionName是要定义的函数名,属于标识符

2、 []中的arg0,arg1,…argn为函数的参数,不是不需的

3、[]只说明里面的内容不是必须的,它不是语法

函数的调用

语法:

函数名([arg1,arg2,…argn])

函数的返回值

任何函数在任何时候都可以通过return语句后跟要返回的值来实现返回值。

//声明一个有参数的函数
function add(x, y){
	var sum = x+y;
	// 如果下面在调用函数的时候需要进行不同的操作,为了不把函数写死,利用函数的返回值
	return sum;
}
console.log(add(3,7)); // 不同操作1:在控制台显示
alert(add(130,220)); // 不同操作2:弹出
var s = add(5,55); // 不同操作3:赋值给变量
document.write(s); // 赋值变量后,打印

  

说明:

1、函数会在执行完return语句之后停止并立即退出。

2、return语句也可以不带有任何返回值,一般用于需要提前停止函数执行而又不需要返回值的情况下。

function myFunction(arg){
  // 如果arg是非数字,不做任何操作,否则返回arg的2倍
  if(isNaN(arg)) return; // return语句也可以不带有任何返回值,一般用于需要提前停止函数执行而又不需要返回值的情况下。
  return arg*2;
}
  console.log(myFunction(40));

  

JavaScript中的参数

arguments

ECMAScript中的参数在内部用一个数组来表示,在函数体内通过arguments对象来访问这个数组参数。

function inner(){
  // arguments 
  console.log(arguments.length);
  console.log(arguments[1]); // 索引是从0开始的正整数
   }
   //inner(10,5);
   function add(num1,num2){    
   	arguments[0]=99; // 可以通过索引去修改argument中的值
    console.log(num1);
   }
   add(55,88)
	}

  

说明:

1、arguments对象只是与数组类似,并不是Array的实例(不是真正意义上的数组)。

2、[] 语法访问它的每一个元素。

3、length属性确定传递参数的个数。

一道面试题

// 求任意一组数的平均值
function getAvg(){
	// 对所有参数进行求和
	var sum =0,
		leg = arguments.length,
		i;
	for (i=0; i<leg; i++) { // for 循环()中是分号
		sum += arguments[i];
	}
	// var avg = sum/leg;
	// console.log(avg);
	return sum/leg;
}
var avg = getAvg(3,6,9,18,26);
console.log(avg);

  

posted @ 2018-03-31 22:41  千行路  阅读(301)  评论(0编辑  收藏  举报