练习1:求一个数字的阶乘

      function getJieCheng(num) {
var result = 1;
for (var i = 1; i <= num; i++) {
result *= i;
}
return result;
}
console.log(getJieCheng(6)); //1*2*3*4*5*6

练习2:求一个数字的阶乘和

ps:

5的阶乘和:即5的阶乘+4的阶乘+3的阶乘+2的阶乘+1的阶乘
      function getJieChengSum(num) {
var sum = 0; //和
for (var i = 1; i <= num; i++) {
sum += getJieCheng(i);
}
return sum;
}
console.log(getJieChengSum(5)); // 1+2+6+24+120
//函数内部可以调用其它函数

*函数function getJieCheng(num)被调用了:

练习3: 求斐波那契数列

ps: 1 1 2 3 5 8 13 21 34 55 89 144

      function getFib(num) {
var num1 = 1;
var num2 = 1;
var sum = 0;
for (var i = 3; i <= num; i++) {
sum = num1 + num2;
num1 = num2;
num2 = sum;
}
return sum;
}
console.log(getFib(12));//144

练习4:输入,年月日,获取这个日期是这一年的第多少天

      //判断这个年份是不是闰年
function isLeapYear() {
return year % 4 == 0 && year % 100 != 0 || year % 400 == 0;
} function getDays(year, month, day) {
//定义变量存储对应的天数
var days = day;
//如果用户输入的是一月份,没必要向后算天数,直接返回天数
if (month == 1) {
return days;
}
//代码执行到这里-----说明用户输入的不是1月份
//定义一个数组,存储每个月份的天数
var months = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
//小于的是输入的月份-1
for (var i = 0; i < month - 1; i++) {
days += months[i];
}
//判断这个年份是不是闰年,且始第二个月起
if (isLeapYear && month > 2) {
days++;
}
return days;
}
console.log(getDays(2019,11,27));

附加:函数里面可以调用其他的函数

         function f1() {
console.log("我是一个函数");
f2();//函数的调用
}
function f2() {
console.log("我也是一个函数");
} f1();

JS基础语法---函数练习part3---4个练习的更多相关文章

  1. JS基础语法---函数作为返回值使用

    结论:函数是可以作为返回值使用的 function f1() { console.log("f1函数调用了"); return function() { console.log(& ...

  2. JS基础语法---函数作为参数使用---回调函数

    1. 函数可以作为参数使用, 如果一个函数作为参数, 那么我们说这个参数(函数)可以叫回调函数 2. 只要是看到一个函数作为参数使用了, 那就是回调函数 function sayHi(fn) { co ...

  3. JS基础语法---函数也是一种数据类型

    1. 如何获取某个变量的类型? typeof 2. 函数是有数据类型 ,数据类型:是function function f1() { console.log("我是函数"); } ...

  4. JS基础语法---函数的其他定义方式

    函数的其他定义方式 函数声明 函数表达式:把一个函数给一个变量,此时形成了函数表达式 函数调用 函数的自调用   命名函数:函数如果有名字,就是命名函数 匿名函数:函数如果没有名字,就是匿名函数   ...

  5. JS基础语法---函数练习part2---10个综合练习(运用:循环/数组/函数)

    练习1:求2个数中的最大值 function getMax(num1, num2) { return num1 > num2 ? num1 : num2; } console.log(getMa ...

  6. JS基础语法---函数---介绍、定义、函数参数、返回值

    函数: 把一坨重复的代码封装,在需要的时候直接调用即可 函数的作用: 代码的重用 函数需要先定义,然后才能使用 函数名字:要遵循驼峰命名法 函数一旦重名,后面的会把前面的函数覆盖 Ctrl +鼠标左键 ...

  7. JS基础语法---函数练习part1---5个练习

    练习1:求两个数字的和:获取任意的两个数字的和 function getSum(x, y) { return x + y; } console.log(getSum(10, 20)); 练习2:求1- ...

  8. JavaScript进阶 - 第2章 你要懂的规则(JS基础语法)

    第2章 你要懂的规则(JS基础语法) 2-1什么是变量 什么是变量? 从字面上看,变量是可变的量:从编程角度讲,变量是用于存储某种/某些数值的存储器.我们可以把变量看做一个盒子,盒子用来存放物品,物品 ...

  9. 【JS基础语法】---学习roadmap---6 parts

    JS基础语法---roadmap Part 1 - 2: Part 3 - 4:   Part 5 - 6

随机推荐

  1. Kubernetes的Job对象

    Deployment.StatefulSet及DaemonSet三个主要用来进行长时间业务,不会退出. 而有一些离线业务,或者叫Batch Job(计算业务),计算完成后就直接退出 了,如果用Depl ...

  2. Unix 开发中的 Make 三连

    Unix 开发过程中,经常性的操作是从源码编译安装相应库文件,所以下面三个命令便是家常便饭,俗称三连: ./configure make make install 下面来看看这三步分别做了什么. co ...

  3. 【HTML】---常用标签(1)

    Html常用标签(1) 重新整理学习下前端知识从Html标签开始.我们先看HTML 骨架格式: <!DOCTYPE html> <!--这句话就是告诉我们使用哪个html版本--&g ...

  4. 中间件1--dubbo

    DUBBO是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,是阿里巴巴SOA服务化治理方案的核心框架,每天为2,000+个服务提供3,000,000,000+次访问量支持,并被广 ...

  5. javaWeb核心技术第十三篇之Ajax

    Js--ajax--原理解释 概述:异步刷新网页,不会刷新整个页面. Get原理: <%@ page language="java" contentType="te ...

  6. Java SSM 商户管理系统 客户管理 库存管理 销售报表 项目源码

    需求分析: 有个厂家,下面有很多代理商(商户或门头等),之前商户进货.库存.销售.客户资料等记录在excel表格中 或者无记录,管理比较混乱,盈利情况不明.不能有效了解店铺经营情况和客户跟踪记录 厂家 ...

  7. fluwx使用的问题

    今天搞了下fluwx这个库,也是遇到了很多问题. 问题一:‘包名不对,请检查包名是否与开放平台上填写的一致’ 显示把文档这些看了遍,但是也不是很清楚,还加了下群问别人,主要我没有开发过Android, ...

  8. kmeans均值聚类算法实现

    这个算法中文名为k均值聚类算法,首先我们在二维的特殊条件下讨论其实现的过程,方便大家理解. 第一步.随机生成质心 由于这是一个无监督学习的算法,因此我们首先在一个二维的坐标轴下随机给定一堆点,并随即给 ...

  9. ABP入门教程8 - 应用层创建应用服务

    点这里进入ABP入门教程目录 创建目录 在应用层(即JD.CRS.Application)下创建文件夹Course //用以存放Course相关应用服务 在JD.CRS.Application/Cou ...

  10. EM13C添加agent记录两个报错

    错误一:ADF_FACES-60097:For more information, please see the server's error log for an entry beginning w ...