ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

模块化程序设计与举例

2021-01-02 18:30:26  阅读:180  来源: 互联网

标签:function return 函数 模块化 sum 举例 返回值 var 程序设计


文章目录


一、函数的书写格式

function 函数名(参数1,参数2,参数3,……){
//函数体;
return 返回值;
}

例:计算10和20的和

 function add(){     // 函数的定义阶段:定义函数的各个要素。
	  var sum=10+20;
	  return sum;
}
var x=add();       // 函数的调用阶段:通过函数名对函数进行调用。
console.log(x);

函数在不利用函数名调用的情况下是不执行的。

二、函数的参数

例:实现任意两个数的和。

function sum(a,b){   //a和b是函数定义时的形参
    return a+b;
}
var m=sum(5,6);    //常量5和6作为函数调用时的实参
console.log(m);
var x=7,y=8;
var n=sum(x,y);    //变量x和y作为函数调用时的实参
console.log(n);
var w=sum(1+5,x-y);   //表达式(1+5)和(x-y)的值作为函数调用时的实参
console.log(w);

常量/普通变量做实参,发生的是值传递。
数组名做实参,发生的是地址传递。
形参必须是变量。实参可以是常量、表达式。

三、函数的返回值

函数之间可以互相调用
函数的返回值需要使用return语句。
有返回值:调用函数时采用的函数名将继承这个函数返回的结果。
没有返回值:具备输出语句、发生了参数地址的传递。

例:计算1!+2!+3!+…+n!=?

function fact(s){       //功能:计算形参s的阶乘
	var f=1;
	for(var i=1;i<=s;i++){
		f=f*i;
	}
	return f;
}
function sum(n){      //功能:计算1-n的阶乘和
	var r=0;
	for(var i=1;i<=n;i++){
		r=r+fact(i);    //sum函数调用了fact函数:sum是主调函数,fact是被调函数
	}
	return r;
}
var n=10;
console.log(sum(n));    //在程序的功能中又调用了sum函数:sum是被调函数。

例:判断一个数a是否为素数(质数)。

function isPrime(n){
	// 判断n是否为质数
	for(var i=2;i<=Math.sqrt(n);i++){
		if(n%i==0){               //如果n被(某个)i整除
			return false;          //得到不是质数的结论:return 逻辑假;
		}
	}
	return true;         //直到循环完全结束都没有任何i将n整除,则return 逻辑真;
}
btn.onclick=function(){   //按钮btn的单击事件
	var a=parseInt(document.forms[0].int.value);
    if(isPrime(a)){            //调用isPrime()函数,返回值为逻辑值
    	alert(a + "是质数。");
    }else{
    	alert(a + "不是质数。");
    }
}

HTML内部form的button具备提交功能,可以利用input标记对,type取值为button的按钮不具备提交功能。<input type=“button” id=“btn” value=“判断素数” />
在使用JavaScript来获取内容时,index.js文件的引用必须书写在标记对内部的末尾。
在js中的引用取值事件:
引用表单元素:document.forms[0].元素的name属性
得到表单元素的取值:document.forms[0].元素的name属性.value
按钮的单击事件:
btn.onclick=function(){ //按钮btn单击时执行的代码 }

标签:function,return,函数,模块化,sum,举例,返回值,var,程序设计
来源: https://blog.csdn.net/qq_45607527/article/details/112093827

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有