2022-04-19

函数

  • 函数作用: 1. 精简代码 2.复用代码
  • 函数的思想: 封装
    函数的声明语法:function 函数名 ( ) { 函数体 };
    封装步骤:
    1、 分析有没有相同代码
    2、 抽取相同代码,并给一个名字
    3、 使用这个名字 == 执行了这段代码
// 调用函数(在前)
sayHi()
function sayHi(){
  document.write('hi~~')
}
// 调用函数(在后)
sayHi()

函数注意事项:

  1. 可以多次调用,直接调用函数名即可。
  2. 可以在任意时刻掉用(当然前提是已经声明好了)
    // 扩展:函数声明的时机,是在 js 刚进入执行环境的时候 (函数声明会提前) (声明时机不是运行到这一行了才声明,不像我们的 let 变量一样)

带参数的函数

可以带多个参数
function 函数名(参数,....,参数){}

function getSum(num1,num2,num3){
  document.write(num1 + num2+ num3);
  document.write('<br>')
}

getSum(10,10,11);//20
getSum(20,10,11);//30
getSum(30,10,11);//40

带参的函数:形参 和 实参

形参:

声明函数的时候,在小括号内部定义的变量

  function getSum(num1,num2){}

实际执行效果,相当于声明了变量
变量声明了,但没赋值: 默认值为undefined
let num1
let num2

实参:

// 实参:函数执行的时候,在小括号内部传递的数据
// 相当于:执行了赋值操作
// num1 = 20
// num2 = 50

getSum(20,50)

参数默认值

逻辑中断: 逻辑或的技巧: 取默认值
// 1.当y没传实参时,默认值为 undefined
// 2. undefined || 0 ; 前为逻辑假,返回后面的值 0
// 3. 相当于 y = 0 ; 设置了默认值

  x = x || 0;
  y = y || 0;
  document.write(x + y);//1+0=1
}
getSum(1);//y没传实参默认值为

函数的返回值

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

// 语法:
function getSunm(x,y){
  // 函数专注于运行过程的;结果如何处理,不是函数的职责
  // 
  return x + y 
}
// 函数内部,使用了return,返回了值
let  num = getSunm(10,30);

// 之后如何处理结果,就由外界自己定了
alert(num);
document.write(num);
document.write(num);

作用域

一、作用域
1.全局作用域:scropt顶层范围
全局变量:可访问范围:定义之后的任意位置,都能访问

二、局部作用域(函数作用域):存在于函数内部
局部变量

三、块级作用域:if语句和for语句里面的{ }等
块级变量

作用域链

1、只要是代码,就至少有一个作用域/
2、如果函数中还有函数,那么在这个作用域中就又可以诞生一个作用域/
3、查找变量的步骤,就是沿着一个个的作用域向上查找的(可以通过控制台debugger中的scope选项卡查看)/
4、用链式方式查找数据,途径了一个个作用域,以此构成了作用域链

匿名函数使用场景

匿名函数:


匿名函数语法.png

立即执行函数

立即执行函数.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 对于vue的部分解析与总结 ps:毕竟是国人写的框架官方文档已经很友善了,本文章在官方文档的基础上进行拓展,只对于...
    lb_8ca4阅读 1,792评论 0 0
  • 一,JavaScript的书写格式 1.行内脚本:写在HTML标签内部,通过一个属性节点来添加,不推荐使用,例如“...
    刘远舟阅读 3,427评论 0 0
  • 复习第四天 //1.day01 -- 变量、数据类型 // 输入 :var usrInput = ...
    桑葚_1194阅读 1,067评论 0 0
  • #前端基础 # ## JavaScript基础 ## ###渲染机制与变量 ### script代码为什么放到bo...
    hmg阅读 2,312评论 1 1
  • 〇、前言 本文共108张图,流量党请慎重! 历时1个半月,我把自己学习Python基础知识的框架详细梳理了一遍。 ...
    Raxxie阅读 19,401评论 17 410

友情链接更多精彩内容