JavaScript之基本函数

本文详细介绍了JavaScript中的函数,包括函数的定义、参数、返回值和arguments对象的使用。并通过两个实战练习,演示了如何输出100以内的素数和1500到2020之间的所有闰年,加深了对函数的理解和应用。
摘要由CSDN通过智能技术生成

目录

一、认识函数

1、什么是函数

2、定义函数

3、函数的参数

4、函数的返回值

5、arguments的使用

二、函数练习

练习一:输出100以内的素数

练习二: 输出公元1500~2020之间的所有闰年


一、认识函数

1、什么是函数

在编写代码时,可能会出现非常多的相同代码,或者功能类似的代码,这些代码可能会被重复使用,因此我们就可以使用函数来完成这些代码的重复利用问题。函数就是可以实现某种特定功能的代码块。

2、定义函数

function 函数名([参数])
{
   函数体语句
}

注意:(1)function是一个关键字,全部小写。

           (2)函数名:是一个标识符,建议使用驼峰命名法,做到见名知意。

                  驼峰命名法:第一个单词的首字母是小写,从第二个单词开始以后的每一个单词的首字母都采用大写字母。

           (3)函数可以有参数也可以没有参数,也可以有多个参数。当存在多个参数时,参数之间用逗号隔开。

           (4)“{}”(大括号)表示函数的控制范围,不能省略,中间放的是函数体语句。

           (5)函数体语句可以有多条。(建议一个函数完成一种功能)

 补充:  内聚:模块内部结合的紧密程度。

              耦合:模块之间结合的紧密程度。

3、函数的参数

函数的参数包括形参和实参两种。

形参(形式参数):在声明函数时出现在函数首部的参数,在定义函数时形参只是占位符,没有确定的值。

实参(实在参数):函数调用时出现在函数首部的参数,具有确定的值。

function 函数名(形参1,形参2,...)   //函数声明
{
   函数体代码
}
函数名(实参1,实参2,...)   //函数调用

(1)参数的传递方式:实参将数据传递给形参

(2)当形参的个数多于实参时,多出的形参是undefined类型,且函数不会报错。

(3)当实参的个数多于形参时,多余的实参会被忽略。

(4)实参向形参传递数据是单向的,形参的改变不会影响实参。

例如:

function getSum(num1,num2)
{
   console.log(num1,num2)
}
getSum(1,2,3)    //实参数量大于形参数量,输出结果为1 2
getSum(1)       //实参数量小于形参数量,输出结果为1 undefined

4、函数的返回值

是函数的处理结果,用于根据函数的执行结果来决定下一步要做的事情,通过return语句返回。

5、arguments的使用

当不确定函数中存在多少个实参的时候,可以用arguments来获取实参。因为arguments是当前函数的一个内置对象,所有函数都内置了一个arguments对象,该对象保存了函数调用时传递的所有的实参。

//arguments的使用
function fn()
{ 
   console.log(arguments)            //输出结果为Arguments(3)[1,2,3,...]
   console.log(arguments.length)     //输出结果为:3
   console.log(arguments[1])         //输出结果为:2
}
fn(1,2,3)

二、函数练习

练习一:输出100以内的素数

定义函数,功能是判断一个数是否是素数。调用该函数找到100以内的所有素数并输出

//素数:除了1和它本身没有其他的因数
//定义函数
function fun(a)
{
   for(var t = 2;t<a;t++)
   {
      if(a%t == 0)   //判断数是否为素数,若不是则为false,若是则为true
      {
         return false
      }
   }
   return true
}

//函数的调用
for(var i = 1;i<100;i++)
{
   if(fun(i))   //相当于先调用fun(i),再判断,为true则执行下面语句
   {
      console.log(i)
   }
}

练习二: 输出公元1500~2020之间的所有闰年

//函数定义
function fun(n)
{
   if(n%400 == 0 || (n%4==0 && n%100!=0))   //判断闰年的条件
   {
      return true
   }
   else{
        return false
   }
}
//函数调用
var str = ''   //定义一个字符串
var count = 0
for(var year = 1500;year<=2020;year++)
{
   if(fun(year)==true)
   {
      count++
      str = str+year+'\t'    //将字符串连接起来并用'\t'隔开
   }
   if(count%10 == 0)    //将字符串按十个一行输出
   {
      str = str + '\n'
   }
}
console.log(str)

 

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

别Null.了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值