JavaScript函数的理解

轮播图函数没搞明白,复习一下做个笔记

补充知识点——函数加括号和不加括号

目录

八、函数加括号与不加括号的区别


一、函数的概念

函数就是一个对象,是我们构造出来的一个模块,目的就是在解决问题后可以更加方便快速的维护,也可以理解成一个子程序。

二、函数定义的三种方式:

1.函数声明

2.函数表达式

3.箭头函数

三、函数的参数

形参就是在创建函数的时候以变量的形式创建的参数

function sum(a, b){
    console.log(a+b)
}

实参就是在执行函数的时候传递的参数

sum(2,4)

特殊情况:

        形参的数量大于实参的数量,多余的形参会默认赋值为undefined,如果形参有默认值,则会赋值为自己传递的默认值

        形参的数量小于实参的数量,多余的实参不会使用

参数的类型

js不会检查传递参数的类型,所以可以传递任何类型作为参数,当我们实际开发过程中,这不是一件好事,我们需要对获取到的数据进行类型转换

四、对象作为参数

function fn1(obj){
    console.log(obj)
}
let a = {name:"leixu"}
fn1(a)

传递实参时,传递的不是变量本身,而是变量中存储的值

function fn1(obj){
    console.log(obj)
}
let a 
fn1(a)

结果会是undefined

function fn2(a={name:"孙悟空"}){
    console.log(a.name)
    a.name = "猪八戒"
    console.log(a.name)
}
fn2() //孙悟空 猪八戒
fn2() //孙悟空 猪八戒 or 猪八戒 猪八戒

 函数每次调用,都会重新创建默认值,所以结果是 孙悟空 猪八戒

function fn2(a){
    console.log(a.name)
    a.name = "猪八戒"
    console.log(a.name)
}
let b = {name:"孙悟空"}
fn2(b)
fn2(b)

这时得到的结果就是 猪八戒 猪八戒

如果参数作为默认值传递进来,每次调用就会创建一个新的,但如果作为变量存储,每次调用都会访问存储的内存地址

五、函数作为参数

函数也是一个对象,所以它可以作为参数进行传递,好处就是传递的参数就是一个函数,是一个动态的参数,需要什么功能可以直接修改

目前这个阶段先有这个概念,后面遇到在添加

六、函数的返回值

现在有一个函数sum如下

function sum(a,b){
    console.log(a + b)
}
sum(1,2)

这是函数是没有返回值的,每次调用都会自动执行函数里面的代码,如果说现在有一个需求是这个值计算出来要和别的值进行计算,我们就需要用到返回值

function sum(a,b){
    return a + b
}
sum(1,2)

这是打印台不会显示,但函数确实执行了a+b,如果我们需要用到这个值,

let result = sum(1,2)
console.log(result)

这是我们想什么时候用就什么时候用

返回值就是函数的执行结果,函数调用完毕返回值会作为结果返回

任何值都可以作为返回值使用,如果return后不跟任何值,则相当于返回undefined

如果不写return,函数的返回值依然是undefined

return一执行,会立马终止函数的执行

七、箭头函数的返回值

写法和普通函数一样

也可以简写——箭头函数的返回值可以直接写在箭头后(只有一条语句时)

如果直接在箭头后设置对象字面量为返回值时,对象字面量必须使用()括起来

还差this和作用域,遇到在复习

八、函数加括号与不加括号的区别

包装函数的声明以(function...而不是function...开始时,函数会被当做函数表达式而不是一个标准的函数声明来处理

(function foo(){...}) 作为函数表达式意味着foo只能在 ... 所代表的位置中被访问,外部作用域呢不行。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

雷旭4466

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

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

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

打赏作者

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

抵扣说明:

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

余额充值