JS 函数

函数是什么?

函数:就是封装重复执行的代码块

函数的使用一般分为两步

1.声明函数

function 函数名() {
    //函数体代码
}

function是声明函数的关键字,必须要小写

函数是为了实现某个功能才被定义的,所以我们常常用动词做前缀来作为函数的名字

2.调用函数

// 调用函数
函数名();  // 通过调用函数名来执行函数体代码

调用函数就是使用函数名字加()来调用,像之前常用的alert和prompt()都是封装好的函数来供我们使用

⚠️声明函数本身并不会执行代码,只有调用函数时才会执行函数体代码

2.1函数的封装

函数的封装就是把一个或者多个功能来通过函数的方式封装起来,来对外只提供一个简单的函数接口,有点像c3我们学习到的动画

3.函数的参数

函数的参数分为形参和实参

形参:形式上的参数,函数定义的时候传递的参数,当前并不知道是什么

实参:实际的参数,函数调用的时候传递的参数,实参是传递给形参的

在函数内部的值不能固定的时候,我们可以通过参数在调用函数时传递不同的值进去

形参可以简单理解为:不用声明的变量 

形参和实参的多个参数之间要用,隔开

函数的默认参数

一个形参不给值默认是underfind

所以当用户不输入实参的时候 就会出现nundfined+undefined结果就为nan

所以我们可以给形参默认值为0来解决这个问题,优化代码

如果有实参传递过去的话,会优先执行实参里的数

实参也可以是变量

let num1 = +prompt('请输入起始值:')
let num2 = +prompt('请输入结束值:')
// 调用函数
getSum(num1, num2)  // 实参可以是变量

函数的返回值

当函数需要把数据返回给调用者的时候,使用return关键字

function 函数名() {
     return 需要返回的结果;
}

注意:函数中只能出现一次return ,

return后面的代码不会执行,会直接退出函数

(函数可以没有return,这种情况默认返回值为underfined)

作用域

作用域的使用提高程序逻辑的局部性,增加了程序的可靠性,减少了名字的冲突

作用域分为全局作用域和局部作用域

全局作用域:作用于所有代码的整个环境,或者一个独立的js文件,处于全局作用域内的变量,称为全局变量

局部作用域:处于函数内的代码环境,叫做局部作用域,也加函数作用域

作用域链:内部函数访问变量,先在自身作用域找声明,如果没有,往外层找,直到找到全局,如果有,采取就近原则

注意:一定要先声明在赋值

匿名函数和具名函数

函数可以分为具名函数和匿名函数

具名函数就是声明了的函数

匿名函数就是没有声明的函数

// 匿名函数
function() { 
   console.log('函数表达式')
}
// 具名函数
function getnum() { 
   console.log('函数表达式')
}

立即执行函数

有两种写法

一:(function(){})()

二:(function(){} ())

立即执行函数,不用调用直接就会执行,多个立即执行函数之间用分号隔开,可以写在函数前面,也可以写在函数后面

声明的变量只会在立即执行的函数里生效

逻辑中断

逻辑与 :只要碰到了假值(false),就会短路,并返回该假值, 只要短路,不会继续执行后面的表达式。

console.log( 123 && 456 );        // 456
console.log( 0 && 456 );          // 0
console.log( 123 && 456&& 789 );  // 789

逻辑或 :只要碰到了真值(true),就会短路,并返回该真值, 只要短路,不会继续执行后面的表达式。(一般用作默认值))

​console.log( 123 || 456 );         //  123
console.log( 0 ||  456 );          //  456
console.log( 123 || 456 || 789 );  //  123

转换为布尔型

  • 代表空、否定的值会被转换为 false ,如 '   '、0、NaN、null、undefined

    console.log(Boolean('')); // false
    console.log(Boolean(0)); // false
    console.log(Boolean(NaN)); // false
    console.log(Boolean(null)); // false
    console.log(Boolean(undefined)); // false
    console.log(Boolean('小白')); // true
    console.log(Boolean(12)); // true

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值