JavaScript函数表达式细节知识

一、函数参数与返回值

1、函数参数

当函数的形参多于函数的实参,多出来来的形参为undefined,

当函数的实参多于函数的形参,多出来的实参会被存放到伪数组arguments中去


2、一般会给形参一个默认值,防止传递的实参和形参不等时出现问题,同时当没有参数传递时,就会等于默认值,如:有两个形参,但 只传递一个实参时,如果是数字加减乘除等操作,那么一个形参传递到的参数是数字,另一个形参没有接受到实参,所以为 undefined,那么结果为NaN 或者会报错


3、return 也有终止函数的效果,函数体内return后面的代码不在执行

当函数内部的结果给函数外部使用时,用返回值

①指令 return 可以在函数的任意位置。当执行到达时,函数停止,并将值返回给调用代码

②⭐⭐空值的 return 或没有 return 的函数返回值为 undefined

不要在 return 与返回值之间添加新行 对于 return 的长表达式,可能你会很想将其放在单独一行,如下所示:

return
 (some + long + expression + or + whatever * f(a) + f(b))

js在解析上面的代码时,因为换行的原因,解析器会在return后面自动加上;号 因此,实际上它的返回值变成了空值。 所以上面代码的返回值为undefined,如下:

return;
 (some + long + expression + or + whatever * f(a) + f(b))

return a,b的返回值是b


二、函数定义

1、 匿名函数 (函数表达式)

let fn = function(){}:匿名函数必须先声明后使用

①⭐⭐立即执行函数

(function(){}());或者(function(){})() ; 多个匿名函数之间必须有;分割 ,否则js会将前后的小括号解析为是一起的

⭐⭐为了避免全局变量冲突 // 一般用立即执行函数将外部js代码包裹起来,这样变量变为局部变量,就防止了冲突⭐⭐


2、具名函数(函数声明

可以先使用在声明

function fn(){}:具名函数和var的声明都有一个提升效果,都会提升到当前作用域的最上方,var的提升只能提前声明变量,没有 赋值,函数的提升是整个代码块的提升


3、逻辑中断

 如下所示;

 <script>
        console.log(flase || 1);//1
        console.log(true || 1);//true 不会进入||后面
        console.log(true && 1);//1
        console.log(false && 1);//1
    </script>

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值