-
1-100之间的和用函数封装。
<script>
alert( getSum(200) )
function getSum(num){
var sum=0;
for(var i=1;i<=num;i++){
sum+=i
}
return sum;
}
</script>
-
函数封装求圆的周长。
<script>
//圆的周长=圆周率X半径X2
function getLong(r){
return Math.PI*r*2;
}
console.log(getLong(8))
//Math.PI 是JS内置的。
</script>
-
函数封装求圆的面积。
<script>
// 求圆的和面积(area = pi*r*r)
alert(getArea(1))
function getArea(r){
return Math.PI*Math.pow(r,2);//就是3.14*r的2次方
}
//Math,pow(),求次方。
</script>
-
函数封装判断2个数,3个数的大小。
判断2个数字的大小。
<script>
function isMax(num1,num2){
if(num1>num2){
return num1;
}
return num2;
//return num1>num2?num1:num2;三目运算一句搞定。
}
alert(isMax(85,222));
</script>
判断3个数字的大小
<script>
function isMax(num1,num2,num3){
if(num1>num2){
if(num1>num3){
return num1
}
return num1;
}else if(num2>num3){
return num2;
}else{
return num3
}
//return (num1>num2?num1:num2)>num3?(num1>num2?num1:num2):num3;三目运算
}
alert(isMax(85,222,33));
</script>
-
封装求数组中的最大值。
arr=[18,45,0,58,32]
<script>
var arr = [18, 45, 0, 58, 32,59]
function ArrMax() {
var arr1=arr[0];
for(var i=0;i<arr.length;i++){
if(arr[i]>arr1){
arr1=arr[i];
}
}
return arr1;
}
alert(ArrMax(arr))
</script>
-
对数组从小到大排序进行封装。
<script>
var arr = [18, 45, 0, 58, 32,59];
function ArrMax() {
for(var i=0;i<arr.length;i++){
for(var j=0;j<arr.length;j++){
if(arr[j]>arr[j+1]){
var temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
return arr;
}
alert(ArrMax(arr))
</script>
-
阶乘封装(本来不想写这个啦,感觉很简单,谁知道,自己马虎,出现BUG,还是练练吧)
<script>
function getJC(num) {
var sum=1;
for(var i=1;i<=num;i++){
sum*=i;
}
return sum;
}
console.log( getJC(5) )
</script>
-
函数封装 数组反转
<script>
var arr=[1,2,3,4,5,6];
console.log(arr+"没反转的")
function reversal(arr) {
var newArr=[];
for(var i=arr.length-1;i>=0;i--){
newArr[newArr.length]=arr[i]
}
return newArr;
}
console.log(reversal(arr) + "反转后的")
</script>
-
函数封装 判断是不是素数
<script>
function PrimeNumber(num) {
if(num == 1){
return num+"不是质数"
}
for(var i=2;i<num;i++){
if(num % i === 0){
return num+"不是质数"
}
}
return num+"是质数"
}
console.log(PrimeNumber(6))
</script>
-
斐波那契数列 封装;
//斐波那契数列1 1 2 3 5 8 13 21 34 55 89 44 233
function fn1(num) {
var n1=1,n2=1;
for(var i=2;i<num;i++){
var temp=n2;
n2=n1+n2;
n1=temp;
}
return n2;
}
alert(fn1(12))
-
输入一个年月日,判断当天是那一年的第几天。
例如:输入2018,10,11 弹出284天。
源码:
<script>
//第一先知道每个月有多少天,让它累加。 arr = [31,28,31,30,31,30,31,31,30,31,30,31]; 这是每个月的天数,只有2月是不固定的。
//2月份不固定,是因为有闰年的存在,所以还要判断是不是闰年。就OK啦。
//先写个判断闰年的函数。
//闰年的规律是四年一闰,百年不闰,四百年再闰。
function isRun(year){
if(year%4===0 && year%100!==0 || year%400===0){
return true;
}
return false;
}
function getDays(year,month,day) {
var arr = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];//月份
for(var i=0;i<month-1;i++){// for循环让前面月份天数相加。
day+=arr[i];
}
if(isRun(year)){//判断如果是闰年就加一天
day++;
}
return day;
}
alert(getDays(2018,10,11))
//alert(getDays(2016,3,1)) 2016年是闰年。
</script>
你也可以再加入一些代码,提示用户输错啦,比如1,3,5,7,8,10,12的day能超过31,闰年2月,不能超过29,等等。
网友评论