欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JS知识点:函数

程序员文章站 2024-03-26 10:10:53
...

1、函数

什么是函数 : 函数就是一个工具
函数就用来代表某个功能的一段代码块,一个函数就是一个功能 、工具

一般反复使用的功能写到一个函数中

2、函数定义

方式1 :

function 函数名(){  函数名自定义 注意命名规范
    函数体
}

可以在函数定义前或定义后调用

//定义一个函数,功能计算两个数的和
function fnAdd(){
	var a = 2 , b = 9;
	alert( a + b )
}
fnAdd()

方式2 :

var 函数名 = function(){ 先定义 后调用

}
    //定义一个函数 功能是打印3行5列的表格
    var fnPrintTable = function(){
	document.write("<table border = 1 width = 500>");
	for(var i = 1 ; i <= 3 ; i++ ){ //控制行
		//打印列
		document.write("<tr>");
		for(var j = 1 ; j <= 5 ; j++){//控制列
			//打印行
			document.write("<td>52013114</td>")
		}
		document.write("</tr>")
	}
	document.write("<table>")
}
fnPrintTable();

3、函数调用

fn() ,其中fn为函数名

4、函数的参数

参数种类 : 形式参数 和 实际参数(形参和实参)
形参

  • 形参出现在函数的定义中
  • 形参必须是变量

实参

  • 实参出现在函数的调用中
  • 实参可以是常量 、 变量 、一个式子 但要求有值
  • 参数传递是将一个实参的值传递给形参 参数传递的过程是–对应的
  • 如果实参的个数多余形参的个数 多余的实参自动舍弃
  • 如果形参的个数多余实参的个数 多余的形参默认值为undefined
// 打印一个表格9行6列
function fnPrintTable(m,n,k){
	console.log(k);  // undefined
	document.write("<table border=1 width=500>");
	for(var i = 1; i <= m; i++){  // 控制行
		// 打印行
		document.write("<tr>");
		for(var j = 1; j <= n; j++){  // 控制列
			// 打印列
			document.write("<td>1111</td>");
		}
		document.wirte("</tr>");
	}
	document.write("</table>");
}
var a = 9;
fnPrintTable(a,6);  // 函数的调用

5、函数的实参副本

arguments :只能出现在函数体内,是一个对象
arguments.length属性获取实参的个数
在函数体的内部可以通过 函数名.length 获取形参的个数

function fnAdd(){
	// arguments内部存储的是实参
	// 使用arguments[下标]形式取出实参 下标从0开始 最大下标arguments.length-1
	// console.log(arguments[0])
	var sum = 0;
	for(var i = 0; i < arguments.length; i++){
		sum+=arguments[i];  // 取出实参
	}
	console.log(sum);
}
fnAdd();  // 3
fnAdd();  // 22
fnAdd();  // 110

6、函数的返回值

当用户需要用一个函数的结果处理其他功能时,函数需要有返回值
一个函数如果没有返回值 默认返回值为undefined
函数的返回值使用return 关键字返回
return 只能出现在函数体中
一个函数如果有返回值 返回值只能有一个
一个函数一旦遇到return ,return后面的语句都不执行

// 定义一个函数功能是计算任意一个数的阶乘
function fbFac(m){
	var fac = 1;
	for(var i = 1; i <= m; i++){
		fac *= i;
	}
	// alert(fac);
	// return 10;
	// alert(fac);
}

// 计算100-200之间所有素数的和

function fnPrimerSum(){
	var sum = 0 ;
	for ( var  i = 100 ; i <=200 ; i++){
		//判断i是否是素数,如果是就累加
		var res = isPrimerNumber( i );
		if( res ){
			sum += i;
		}
	}
	return sum;
}
//alert(  fnPrimer( ) );
//输出:100可以拆成哪两个素数的和?
function fnSum(){
	//1 99 2 98 3 97 4 96 ......
	for( var i = 1 ; i <=50 ; i++){
		if(isPrimerNumber (i)  && isPrimerNumber( 100 - i)){
			console.log( "100可以拆分成" + i +"和"+(100-i))
		}
	}
}
相关标签: javascript