javaScript(四):函数和常用对象

news2024/11/24 0:36:42

文章目录

      • 1、函数介绍
      • 2、函数的作用
      • 3、函数语法
      • 4、常用对象:数组
      • 5、常用对象:String
      • 6、常用对象:自定义对象

1、函数介绍

函数是一段可重复使用的代码块,用于执行特定任务或计算并返回结果。

函数由以下几个要素组成:

  1. 函数声明或函数表达式:函数可以通过声明或表达式的方式定义。声明方式使用关键字function,后跟函数名和参数列表。表达式方式将函数赋值给变量。
  2. 参数:函数可以接受输入值,这些输入值称为参数。参数声明在函数的括号内,并用逗号分隔。函数可以有零个或多个参数。
  3. 函数体:函数体是函数执行的代码块,它包含一系列的语句,用来实现特定的功能。
  4. 返回值:函数可以返回一个值,也可以没有返回值。使用关键字return可以将结果从函数中返回。

2、函数的作用

函数在JavaScript中具有多种作用,以下是一些常见的函数作用:

  1. 代码的重用:函数允许将一段代码逻辑封装起来,以便在需要时可以重复使用。这样可以避免在多个地方编写相同的代码,提高代码的可重用性和维护性。
  2. 模块化编程:函数使得代码可以被组织成独立的模块,每个模块负责一个特定的任务。这样可以提高代码的可读性、可维护性和可扩展性,让大型应用程序更易于理解和开发。
  3. 抽象复杂性:函数可以将复杂的问题分解成更小、更易理解的部分。通过将复杂的逻辑拆分成多个函数,可以降低编程的难度和错误的可能性。
  4. 提高代码的可读性:函数允许给一段代码逻辑起一个有意义的名字,通过调用函数来执行该逻辑,可以使代码更加易懂和易读。

总之,函数是JavaScript中非常重要的概念,它们具有多种作用,包括代码重用、模块封装、抽象复杂性、可读性提高、功能实现、参数传递和返回值以及事件处理等。使用函数可以更高效地组织和管理代码,提高开发效率和代码质量。

3、函数语法

命名函数语法

定义:Javascript函数通过function关键字进行定义,语法为:

function functionName(参数1,参数二..){
    //要执行的代码
}

代码演示:

/* 命名函数就是有名字的函数,格式如下:
    function 函数名(参数列表) {
        代码;
        return 返回值;
    }
    */

// 定义一个函数实现加法功能
function add(a,b){
    return a+b;
}

// 调用函数格式:
let sum = add(10,20);
document.write(sum + "<br/>");

匿名函数语法

var functionName = function(参数1,参数2..){
    //要执行的代码
}

代码演示:

/* 匿名函数格式如下:
        function (参数列表) {
            代码块;
            return 返回值;
        }
     */

// 定义一个匿名函数实现加法功能
let add = function (a,b){
    return a+b;
}
// 调用函数
let sum = add(20,20);
document.write(sum + "<br/>")

4、常用对象:数组

Array

JavaScript 数组是一组按顺序排列的值,这些值可以是数字、字符串、布尔值、对象等各种类型的数据。数组中的每个元素都有一个下标,下标从零开始,表示元素在数组中的位置。

定义:

let 变量名 = new Array(元素列表); //方式一
例如 : let arr = new Array(1,2,3)

let 变量名 = [元素列表]; //方式二
例如 : let arr = [1,2,3];

访问:

arr[索引] = 新的值;
arr[0] = 1;

注意:

  • 数组类似java的集合,长度,类型都可以变

数组属性和方法

image-20231205195252496

image-20231205195305777

代码演示:

// JS创建数组方式一: let 变量名 = new Array(元素列表);
let arr01 = new Array(11,22,33);
document.write(arr01 + "<br/>");

// JS创建数组方式二: let 变量名 = [元素列表];
let arr02 =[11,22,33,44];
document.write(arr02 + "<br/>");

// 修改数组数据: 数组名[索引]=新的值;
arr02[2] = 55;

// 获取数组数据: 数组名[索引]
document.write(arr02[2] + "<br/>");
// 特点:JavaScript数组相当于Java中集合。变长,变类型
// 变类型

// 属性:length:数组中元素的个数
document.write(arr01.length + "<br/>");
// push: 添加数据方法
arr02.push("可以添加字符串");
document.write(arr02 + "<br/>");
// splice:删除数据方法    splice(开始位置, 删除的数量)
arr02.splice(1,1);
document.write(arr02 + "<br/>");

5、常用对象:String

String

定义:

let 变量名 = new String(s); //方式一
例如:let str = new String("hello");
let 变量名 = s; //方式二
例如:let str = "hello"

属性:

length	//字符串长度

方法:

trim()	//移除字符串首尾空白

代码演示:

// 字符串创建方式一: let 变量名 = new String(s);
let str01 = new String("hello");
//字符串创建方式二: let 变量名 = "内容";
let str02 = " hello ";
document.write(str02 + "<br/>");
// 字符串的长度: length属性
let length= str02.length;
document.write(length + "<br/>");

// trim(): 去除字符串前后两端的空白字符
str02.trim()
document.write(str02 + "<br/>");

6、常用对象:自定义对象

自定义对象

格式:

let 对象名称 = {
    属性名称1:属性值1,
    属性名称2:属性值2,
    ...
    函数名称:function(形参列表){}
};

示例:

<script>
    // JS自定义对象
    let person = {
        name:"小林",
        age:18,
        eat:function(){
            document.write(this.name+ "在吃饭" + "<br/>");
        }
    }
    // 使用对象: 对象.成员变量  或 对象.成员方法()
    //对象.成员变量
    document.write(person.name + "<br/>");
    //对象.成员方法()
    person.eat();
</script>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1288243.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2024最新电脑系统清理软件哪个好用?

基本上&#xff0c;不管是win版还是Mac版的电脑&#xff0c;其装机必备就是一款电脑系统清理软件&#xff0c;就比如Mac&#xff0c;目前在市面上&#xff0c;电脑系统清理软件是非常多的。 对于不熟悉系统的用户来说&#xff0c;使用一些小众工具&#xff0c;往往很多用户都不…

Flask项目Day1,Flask常见第三方拓展包

拉项目 git clone https://gitee.com/hahaguai007/python-flask-mysql.git git clone 项目地址运行后即可获取项目 2.创建数据库 在MySQL中创建一个数据库&#xff0c;名字自己定&#xff0c;然后修改RealProject\settings.py里的SQLALCHEMY_DATABASE_URI&#xff0c;格式为 …

一部,即全部,十年超越之作一加12售价4299元起

2023 年 12 月 5 日&#xff0c;一加正式发布十年旗舰一加 12。作为一加十年超越之作&#xff0c;一加 12 秉持「产品力优先」理念&#xff0c;带来多项领先行业的首创技术。一加 12 全球首发拥有医疗级护眼方案和行业第一 4500nit 峰值亮度的 2K 东方屏&#xff0c;完整搭载 F…

【Intel/Altera】 全系列FPGA最新汇总说明,持续更新中

前言 2023年11月14日英特尔 FPGA中国技术日&#xff0c;Intel刚发布了新的FPGA系列&#xff0c;官网信息太多&#xff0c;我这里结合以前的信息&#xff0c;简单汇总更新一下&#xff0c;方便大家快速了解Intel/Altera FPGA家族。 目录 前言 Altera和Intel 型号汇总 1. Agi…

【五分钟】学会利用cv2.resize()函数实现图像缩放

引言 在numpy知识库&#xff1a;深入理解numpy.resize函数和数组的resize方法中&#xff0c;小编较为详细地探讨了numpy的resize函数背后的机理。从结果来看&#xff0c;numpy.resize函数并不适合对图像进行缩放操作。而opencv中的resize函数虽然和numpy的resize函数同名&…

Python爬虫技术:如何利用ip地址爬取动态网页

目录 一、引言 二、Python爬虫基础 三、动态网页结构分析 四、利用ip地址爬取动态网页 1、找到需要爬取的动态网页的URL结构 2、构造请求参数 3、发送请求并获取响应 4、解析响应内容 五、实例代码 六、注意事项 七、总结 一、引言 随着互联网的快速发展&#xff0…

调研37位程序员后,我不再因为AI而焦虑 feat.脑放电波

点击文末“阅读原文”即可参与节目互动 剪辑、音频 / 杜1- 运营 / SandLiu 卷圈 监制 / 姝琦 封面 / 姝琦Midjourney 产品统筹 / bobo Nixon 的毕业论文研究了37位程序员使用GPT 写代码的状态&#xff0c;我们邀请了懂编程 且 具备一定技术团队管理经验的科技乱炖朱峰、小…

数据结构第二次作业——递归、树、图【考点罗列//错题正解//题目解析】

目录 一、选择题 ——递归—— 1.【单选题】 ——递归的相关知识点 2.【单选题】——递归的应用 3.【单选题】——递归的实现结构 4.【单选题】——递归的执行与实现 5.【单选题】 ——递归算法 ——树—— 6.【单选题】 ——树的结构 *7.【单选题】——树的知识点 …

【Unity3D】Android打包报错AAPT2:xxx Linkxxx

Gradle Plugin 与Gradle版本不匹配问题 或 相关依赖库下载不完全问题&#xff1b; 使用镜像即可解决 也可以离线&#xff08;离线过于复杂 你能找到方法那最好是离线Maven) 仓库服务 找最新可用的镜像url&#xff0c;替换google()和jcenter()&#xff0c; 可以直接使用publ…

Ant Design、Element组件:时间日期选择器限制选择范围的几种场景及区别

目录 第一章 Ant Design时间日期选择器限制选择范围的几种场景 需求一&#xff1a;选择今天之前的日期&#xff08;分为包括今天以及不包括今天&#xff09; 需求二&#xff1a;设置选择今天之后的日期&#xff08;分为今天以及今天之后&#xff09; 需求三&#xff1a;设置…

Temu发货数据:了解拼多多旗下跨境电商平台的物流方式和发货量

作为拼多多旗下的跨境电商平台&#xff0c;Temu通过全托管模式将卖家的货品把控权集中在平台买手身上。本文将为您揭示Temu的发货方式以及每天的出口包裹量&#xff0c;帮助您更好地了解这一平台的物流运作。 先给大家推荐一款拼多多/temu运营工具——多多情报通 多多情报通是拼…

数学建模-基于机器学习的家政行业整体素质提升因素分析

基于机器学习的家政行业整体素质提升因素分析 整体求解过程概述(摘要) 家政服务业即为家庭提供多种类服务的专门行业&#xff0c;在第三产业中占有重要地位。但近年来&#xff0c;由于人工智能家居产业的发展与客户对家政从业者的要求水平不断提高&#xff0c;家政行业仍面对较…

【TiDB理论知识04】TiKV-分布式事务与MVCC

分布式事务 下面一个事务 里面有两个更新,分别将id1的Tom改为Jack,将id2的zhangsan 改为 lisi。在MySQL中这个事务很普通&#xff0c;但是在分布式数据库TiDB 中的会遇到什么问题呢&#xff1f; begin; (1,Tom) --> (1,Jack) (2,zhangsan) --> (2,lisi) commit; 比如(…

[头歌系统数据库实验] 实验3 MySQL的DDL语言

目录 第1关&#xff1a;将P表中的所有红色零件的重量增加6 第2关&#xff1a;把P表中全部红色零件的颜色改成蓝色 第3关&#xff1a;将SPJ表中由S5供给J4的零件P6改为由S3供应 第4关&#xff1a;将SPJ表中所有天津供应商的QTY属性值减少11&#xff08;用子查询方式&#x…

创业和打工该如何选择

创业和打工应该根据自己的人生目标和经济条件来具体选择&#xff0c;创业和打工是两条不同路&#xff0c;各有优劣不能一概而论。 上班打工的好处是相对稳定和安全。你有固定的工作时间和薪水&#xff0c;不需要承担太多的风险和责任。 而做生意创业有更大的收入潜力。如果你的…

球机实现飞机追踪

目录 1. 背景2. 实现步骤2.1 飞机识别2.2 计算目标与球机中心的偏离角度2.2.1 获取球机视场角2.2.2 计算偏离角度 2.3 计算角速度2.4 将角速度映射到球机转速挡位 1. 背景 球机本身带有一些跟踪算法&#xff0c;比如&#xff1a;人员跟踪、车辆跟踪&#xff0c;比较有限。如果…

linux无法打开M4a格式音频的解决方法

linux是开源系统&#xff0c;之所以打不开&#xff0c;是因为部分linux系统为了避免版权问题&#xff0c;没有m4a的解码插件。所以&#xff0c;解决的办法是安装如下两个非常小的转换器&#xff0c;我们一般用不到转换器的功能&#xff0c;而是反向应用&#xff0c;通过两个几十…

TinyMPC - CMU (卡耐基梅隆大学)开源的机器人 MPC 控制器

系列文章目录 CasADi - 最优控制开源 Python/MATLAB 库 文章目录 系列文章目录前言一、机器人硬件对比1.1 Teensy 上的微控制器基准测试1.2 机器人硬件1.3 BibTeX 二、求解器三、功能&#xff08;预期&#xff09;3.1 高效3.2 鲁棒3.3 可嵌入式3.4 最小依赖性3.5 高效热启动3.…

第四代可燃气体监测仪监测场景有哪些?

随着城市化进程的加速&#xff0c;燃气作为一种重要的能源在每个城市都得到了广泛的应用。然而燃气泄漏所引发的安全问题也日益增加&#xff0c;为了保障燃气安全并防止泄漏事故的发生&#xff0c;可燃气体监测仪在其中发挥着重要的作用。可燃气体监测仪适用于甲烷气体浓度监测…

从零开始训练一个ChatGPT大模型(低资源,1B3)

macrogpt-prertrain 大模型全量预训练(1b3), 多卡deepspeed/单卡adafactor 源码地址&#xff1a;https://github.com/yongzhuo/MacroGPT-Pretrain.git 踩坑 1. 数据类型fp16不太行, 很容易就Nan了, 最好是fp32, tf32, 2. 单卡如果显存不够, 可以用优化器adafactor, 3. 如果…