JavaScript基础 第四天

1.函数

2.其他知识点

  • 逻辑中断
  • 转换为布尔型

一.函数

1.函数的基本使用

2.函数的参数

3.函数返回值

4.作用域

5.匿名函数

1.1 函数的基本使用

① 函数:function 被设计为执行特定任务的代码块

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

③ 函数的声明语法

function 函数名() {
    函数体
}

④ 函数名命名规范

  • 和变量名基本一致
  • 尽量小驼峰式命名法
  • 前缀应该为动词
  • 命名建议:常用动词约定

⑤ 函数的调用语法

  • 函数名()
function sayHi () {
  console.log("hihi~~~")
}
sayHi()

1.2 函数的参数

① 调用函数的时候需要传入数据,就要给函数传参,可以极大提高函数的灵活性

② function 函数名 (参数列表) {

      函数体

    }

③ 参数列表

  • 传入数据列表
  • 声明这个函数需要传入几个数据
  • 多个数据用逗号隔开    
function getSum (start, end) { // 形参 
    let sum = 0
    for (let i = start; i <= end; i++) {
          sum += i
    }
    console.log(sum)
  }
  getSum(1, 100)  // 实参

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

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

     形参可以理解为:在这个函数内声明的变量,实参是给这个变量赋值,开发中尽量保持形参和实参个数一致

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

function getSum (m = 0, n = 0) {
    let sum = 0
    for (let i = m; i <= n; i++) {
        sum += i
    }
    console.log(sum)
   }
   getSum()

 1.3 函数的返回值

① 当调用某个函数,函数会返回一个结果出来,就是一个有返回值的函数

② 有些函数有返回值,有些函数没有返回值,要根据需求不同,来设定需不需要返回值

③ 语法: return 数据

④ 细节:

  • 在函数体中使用return 关键字能将内部的执行结果交给函数外部使用
  • return 后面的代码不会再被执行,会立即结束当前函数,所以return后面的数据不要换行写
  • return函数可以没有return, 这种情况函数默认返回值为undefined
  • 两个相同的函数后面的会覆盖前面的函数
  • 在JavaScript中实参的个数和形参的个数可以不一致
  • 如果形参过多,会自动填上undefined
  • 如果实参过多,多余的实参会被忽略

1.4 作用域

① 概念:一段代码程序中所用到的名字并不总是有效可用的,而限定这个名字的可用性代码范围就是这个名字的作用域

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

③ 分类: 

  • 全局作用域:全局有效

      作用于所有代码执行的环境或者一个独立的js文件

  • 局部作用域:局部有效

      作用于函数内的代码环境,就是局部作用域,因为跟函数有关,所以也被称为函数作用域

④ 全局变量和局部变量

  •  全局变量:函数外部let的变量,全局变量在任何区域都可以访问和修改
  •  局部变量:函数内部let的变量,局部变量只能在当前函数内部访问和修改
  • 函数内部的形参可以看作是局部变量

   特殊情况:如果函数内部,变量没有声明,直接赋值,也被当做全局变量,但是不推荐

⑤ 变量的访问规则

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

1.5 匿名函数

① 函数分为两大来:

  • 具名函数

        声明:function fn() {} 

        调用:fn()    

  • 匿名函数

        function() { }

 ② 匿名函数

 概念:没有名字的函数,无法直接使用

使用方式: 函数表达式    立即执行函数

 ③ 函数表达式

  • 概念:将匿名函数赋值给一个变量,并且通过变量名称进行调用,我们将这个称为函数表达式
  • 语法

let fn = function() {
      // 函数体
}

let fn = function (x, y) {
  console.log(x + y)
}

fn(1, 2)
  •  函数表达式与具名函数的不同:

   1.具名函数的调用可以写到任何位置

   2.函数表达式必须先声明表达式,后调用

 ④ 立即执行函数

场景:避免全局变量之间的污染, 保存后立即执行,必须加分号执行

语法:

// 第一种写法
(function (x, y) {
   console.log(x + y)
})(1, 2);

// 第二种写法
(function (x, y) {
    console.log(x + y)
}(1, 3));

二. 其他知识点

 2.1 逻辑中断

概念:逻辑运算符中的短路

短路:只存在于&&和||中,当满足一定条件会让右边代码不执行

原因:通过左边能得到整个式子的结果,因此没必要再判断右边

符号短路条件
&&左边为false就短路
||左边为true就短路

function getSum (x, y) {
  // 类似于默认值,逻辑中断
    x = x || 0
    y = y || 0
    console.log(x + y)
}
getSum(1, 2)
 2.2 转换为boolean型

   Boolean(内容)

   0 undefined null false  NaN转换为布尔值之后都是false, 其余都为true

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值