JavaScript的自定义函数(回调函数)三目和switch

JavaScript的函数

函数是个功能体,需要提供若干值,返回处理结果

JavaScript分为系统函数自定义函数

区别

系统函数 自定义函数 系统提供的用户提供值然后返还结果 用户自己定义的函数,执行用户自己定义的方式和返回值

自定义函数:封装重复执行的代码,方便时用,避免要重复书写一些代码

自定义函数(回调函数)的格式:

function 自定义函数名(){
    执行的代码
    console.log(传参) // 结果为传入的参数

}
//  调用函数
自定义函数名()

函数只是创建,不会立刻执行代码,如果需要执行的话则需要调用

调用函数后只会执行一次自定义(回调函数)

练习

创建回调函数计算1-100的和:

function man(){
    for(var i=0,a=0; i<=100; i++){
        a+=i
        console.log(a)
    }
}
man()

创建带有传参的函数 

代码格式

function 自定义函数名(传参){
    执行的代码
    console.log(传参) // 结果为传入的参数

}
//  调用函数
自定义函数名(传入的参数)

// 传参接受外部传递的值

在调用的时候传递的参数在回调函数里面,相当于一个函数

比如传参的时候传入参数,这个参数指定后打印的值

function man(x) {
    console.log(x)
}
man(100)

 当调用函数的时候传入了100,所以在回调函数里面x则为100,回调函数打印x的值,所以打印出了100

传入两个参数也是可以的

function man(x,y) {
    console.log(x,y)
}
man(100,200)

结果如图: 

 解析:

function man(x,y) {
    console.log(x,y)
    // x,y是实参
}
man(100,200)
// 实参

当传入函数的值少多或者不传

少传

当传入的参数少的时候结果就为NaN

function man(x,y) {
    console.log(x+y)
}
man(200)

 结果:

关于NaN:

        Number.NaN 是一个特殊值,说明某些算术运算(如求负数的平方根)的结果不是数字。方法 parseInt() 和 parseFloat() 在不能解析指定的字符串时就返回这个值。对于一些常规情况下返回有效数字的函数,也可以采用这种方法,用 Number.NaN 说明它的错误情况。

JavaScript 以 NaN 的形式输出 Number.NaN。请注意,NaN 与其他数值进行比较的结果总是不相等的,包括它自身在内。因此,不能与 Number.NaN 比较来检测一个值是不是数字,而只能调用 isNaN() 来比较。


不传

如果不给其传参那么函数回调的结果则为NaN

function man(x,y,z) {
    console.log(x+y+z)
}
man(200,200)

JavaScript 以 NaN 的形式输出 Number.NaN。请注意,NaN 与其他数值进行比较的结果总是不相等的,包括它自身在内。因此,不能与 Number.NaN 比较来检测一个值是不是数字,而只能调用 isNaN() 来比较。 


多传

如果多传也可以正常获取数据

function man(x,y,z) {
    console.log(x+y+z)
}
man(999,111,111,111)



三目运算符

JavaScript中三目运算符用作判断时,基本语法为: mian ? x  :  y

判断


当mian的值为真时执行x,否则执行 y, 如下所示

var b = 1,
c = 1 
a = 2;
a >= 2 ? b++ : b--;
//当a>=2时b+1反之则-1
console.log(a,b,c);
a < 2 ? c++ : c--;
//当a<2时c+1反之则-1
console.log(a,b,c);

结果:

 转换为if语句则为:

if (a>=2) {
    b++;
} else{
    b--
} 

if(c<2){
    c++
}else{
    c--
}

 赋值

应用场景在于赋值,var param = expression ? value1 : value2,这个经常用到

   var b,
      c = 1;
   var a = b ? 2 : 1;
   a    // 1
   var a = c > 0 ? 2 : 1
   a   // 2


return

 关于return

return是在回调函数中运行后结束当前运行并返回值,这个值是可以使用的,如下图

function a(x, y) {
    if(x>y){
        return x
    }else{
        return y
    }
}
var xy=a(80,20)
console.log(xy)

当运行时当x>y则会返回x反之则为y

此时xy被赋予了回调函数的值,所以可以打印出来,当然我们也可以更直接一点

function a(x, y) {
    if(x>y){
        return x
    }else{
        return y
    }
};
var xy=a(80,20);
console.log(a(80,20));
console.log(xy);

运行如图:

 


补充return

return语句终止函数的执行,并返回一个指定的值给函数调用者。

当在函数体中使用语句时,函数将会停止执行。如果指定一个值,则这个值返回给函数调用者。例如,以下函数返回其参数的平方,其中是数字。returnxx

function square(x) {
   return x * x;
}
var demo = square(3);
// demo will equal 9

如果省略该值,则返回。undefined


练习

计算闰年

创建一个函数当传入任何一年的时候判断这年是否为闰年,返回true和false

需要达到以下效果:

答案:

function isRun(x){
    if(x%4==0&&x%100!==0||x%400==0){
        return true;
    }else{
        return false;
    }
}
console.log(isRun(3000))

 转换为三目运算为:

function isRun(x){
    return x%4==0&&x%100!==0||x%400==0 ? true : false;
}
console.log(isRun(3000))

因为三目的使用方法本来就是真和假,所以可以简化为

function isRun(x){
    return x%4==0&&x%100!==0||x%400==0 
}
console.log(isRun(3000))

 


switch-else语句

语法

switch (判断值){
    case 定值1:
        代码块1
        break
        // 跳出判断
    case 定值2:
        代码块2
        break
        // 跳出判断
}

如上当判断值等于定值一致时执行代码块一,判断值等于定值二致时执行代码块二

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

阿山同学.

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

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

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

打赏作者

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

抵扣说明:

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

余额充值