JS-函数使用

  • 函数

function,是被设计为执行特定任务的代码块

  • 说明:

函数可以把具有相同或相似逻辑的代码“包裹”起来,通过函数调用执行这些被“包裹”的代码逻辑,这么做的优势是有利于精简代码方便复用

前面使用的 alert() , prompt() 和 console.log() 都是一些js函数,只不过已经封装好了,我们直接使用的。

函数的使用

  • 函数的声明语法
function 函数名() {
   函数体
}
function sayHi() {
    document.write('hai~~')
}
  • 函数名命名规范

        和变量命名基本一致

        尽量小驼峰式命名法

        前缀应该动词

        命名建议:常用动词约定

动词含义
can判断是否可执行某个动作
has判断是否含义某个值
is判断是否为某个值
get获取某个值
set设置某个值
load加载某些数据
  • 函数的调用语法
    // 函数调用,这些函数体内的代码逻辑会被执行
    函数名()

注意:声明(定义)的函数必须调用才会真正被执行,使用 () 调用函数 

// 函数一次声明可以多次调用,每一次函数使用函数体里面的代码会重新执行一次
sayHi()
sayHI()

使用的 alert() ,parselnt() 这种名字后面跟小括号的本质都是函数的调用

  • 函数体

函数体是函数的构成部分,它负责将相同或相似的代码“包裹”起来,直到函数调用时函数体内的代码才会被执行。函数的功能代码都要写在函数体当中。

// 打招呼
function sayHi() {
    console.log('嗨~')
}

sayHi()

函数传参

  • 声明语法
    function 函数名(参数列表) {
        函数体
    }

    参数列表

        传入数据列表

        声明这个函数需要传入几个数据

        多个数据用逗号隔开

        单个参数

function getsum(num1) {
    document.write(num1 * num1)
}

        多个参数

function getSum1(num1, num2) {
    document.write(num1 + num2)
}
  • 调用语法
函数名(传参的参数列表)
  • getSquare(8)
    getSum(10, 20)

    调用函数时,需要传入几个数据就写几个,用逗号隔开

    function getSum(num1, num2) {
        document.write(num1 + num2)
    }
    
    getSum(10, 20)
    
    // 类似于执行了如下代码
    num1 = 10
    num2 = 20

形参: 声明函数时写在函数名右边小括号里的叫形参(形式上的参数)

实参: 调用函数时写在函数名右边小括号里的叫实参(实际上的参数) 

形参可以理解为是在这个函数内声明的变量(比如 num1 = 10)实参可以理解为是给这个变量赋值

开发中尽量使用保持形参和实参个数一致

我们曾经使用过的 alert('打印'),parselnt('11'),Number('11')本质上都是函数调用的传参

函数传参-参数默认值 

形参:可以看做变量,但是如果一个变量不给值,默认是什么?

        undefined

但是如果用户不输入实参,则出现 undefined + undefined 结果是什么?

         NaN

用户不输入实参,可以给 形参默认值,可以默认 0 ,这样程序员更严谨,可以如下操作

function getSum(x = 0, y = 0)  {
    document.write(x + y)
}
getSum()  // 结果是0,而不是 N
getSum(1, 2) // 结果是 3

说明: 这个默认值只会在缺少实参参数传递时 才会被执行,所有参数会优先执行传递过来的参数,否则认为 undefined

有返回值的函数

当函数需要返回数据出去时,用return关键字

语法

return 数据            return 20

使用:

function getSum(x, y) {
    return x + y
}
let num = getSum(10, 50)
document.write(num)

 细节:

  • 在函数体中使用 return 关键字能将内部的执行结果交给函数外部使用
  • return 后面代码不会再被执行,会立即结束当前函数,所以 return 后面的数据不要换行写
  • return 函数可以没有 return,这种情况函数默认返回值为 undefined

变量的访问原则

  • 只要是代码,就至少有一个作用域
  • 写在函数内部的局部作用域
  • 如果函数中还有函数,那么在这个作用域中就可以诞生一个作用域
  • 访问原则:在能够访问到的情况下 先局部,局部没有在找全局

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值