当前位置: 首页 > java >正文

js-day3

JS学习之旅day3

  • 函数
    • 为什么需要函数
    • 函数的使用
    • 函数的传参
    • 函数的返回值
    • 断点调试
    • 作用域
    • 匿名函数
  • 逻辑中断
  • 转换为Boolean型

函数

为什么需要函数

  1. function,函数,是被设计为执行特定任务的代码块
  2. 精简代码,方便复用,提高开发效率

函数的使用

  1. 函数的声明
    function 函数名(){函数体
    }
    
  2. 函数的命名规范
    1. 和变量名基本一致
    2. 尽量使用小驼峰命名法
    3. 前缀应为动词
  3. 函数的调用:函数名()

函数的传参

  1. 声明语法
    function 函数名(参数列表){函数体
    }
    
  2. 参数列表
    1. 传入数据列表
    2. 声明这个函数需要传入几个参数
    3. 多个数据用,隔开
  3. 例如
      // 形参:形式上的参数    function fn(start, end) {let sum = 0;for (var i = start; i <= end; i++) {sum += i;}console.log(sum);}// 实参:实际上的参数fn(1, 5);
    
  4. 参数默认值: function fn(start=0, end=0) {},默认值只会在缺少实参时才有效

函数的返回值

  1. 关键字:return
  2. return后的代码不会再被执行,return不能换行写
  3. 函数没有return时,默认返回undefined

断点调试

  1. F10:逐过程,不进入函数体;
  2. F11:逐步调试,进入函数体

作用域

  1. 作用域是指在程序中变量、函数和对象的可访问性范围
  2. 全局作用域:在整个程序中都可以访问的变量。对应全局变量
  3. 函数作用域(局部作用域):在函数内部声明的变量,仅在该函数及其子函数中可用。对应局部变量
  4. 块作用域:在{}包裹的范围内可用
  5. 注意:
    1. 如果函数内部,变量没有声明直接赋值,也当全局变量
    2. 函数内部的形参可以看做局部变量
    3. 变量访问原则:就近原则

匿名函数

  1. 函数表达式:
    1. 声明:let fn=function(){}
    2. 调用:fn()
    3. 具名函数与函数表达式区别:具名函数的调用可以写在函数声明之前,也可以写在函数声明之后;函数表达式必须先声明后调用。
  2. 立即执行函数:必须加;结束
     // 第一中写法
    (function(a,b){console.log(a+b)console.log('我是立即执行函数')
    })(1,2);
    // 第二种写法
    (function(a,b){console.log(a+b)console.log('我是立即执行函数')
    }(1,2));
    

逻辑中断

符号短路条件
&&左边为false就短路
||左边为true就短路
  // 逻辑与 &&// 1. 如果第一个表达式为真,则返回第二个表达式console.log(1 && 2); //2// 2. 如果第一个表达式为假,则返回第一个表达式console.log(0 && 2); //0// 逻辑或 ||// 1. 如果第一个表达式为真,则返回第一个表达式console.log(1 || 2); //1// 2. 如果第一个表达式为假,则返回第二个表达式console.log(0 || 2); //2

转换为Boolean型

  1. 语法:Boolean(内容)
  2. ''0undefinednullfalseNaN转换后为false,其余都为true
http://www.xdnf.cn/news/9277.html

相关文章:

  • Tailwind css实战,基于Kooboo构建AI对话框页面(二)
  • 鸿蒙OSUniApp 开发支持图片和视频的多媒体展示组件#三方框架 #Uniapp
  • AI学习搭档:开启终身学习新时代
  • 强大的免费工具,集合了30+功能
  • 科技赋能建筑行业,智能楼宇自控系统崭露头角成发展新势力
  • 一起学数据结构和算法(二)| 数组(线性结构)
  • Rust编程环境安装
  • PostgreSQL的扩展 amcheck
  • day 38
  • flyway问题合集
  • word批量导出visio图
  • 图标变白,开始菜单栏无法打开程序(以jupyter为例)
  • ARM内核一览
  • Mac安装MongoDB数据库以及MongoDB Compass可视化连接工具
  • 【数据结构】单链表练习
  • 改进系列(12):基于SAM交互式点提示的UNet腹部多脏器分割方法研究
  • 【北京盈达科技】GEO优化:引领AI时代内容霸权,重塑行业生态
  • 思澈科技助力Keep Watch Pilot 1:重新定义智能运动手表体验
  • React 虚拟dom
  • ROS2 robot控制学习(一)
  • 自然语言×数据集成新范式:SeaTunnel MCP深度解读 | 附视频讲解
  • 重新安装解决mac vscode点击不能跳转问题
  • 树莓派(Raspberry Pi)安装Docker教程
  • LabVIEW软件开发过程中如何保证软件的质量?
  • 大数据-272 Spark MLib - 基础介绍 机器学习算法 线性回归
  • openresty如何禁止海外ip访问
  • 【git】git rebase 和 git pull区别?
  • NSSCTF [NISACTF 2022]ezheap
  • 微信小程序的软件测试用例编写指南及示例--性能测试用例
  • 使用Gemini, LangChain, Gradio打造一个书籍推荐系统 (第三部分)