javaweb系列-js函数、数组、字符串

news2024/11/25 11:51:00

1.4 函数

JavaScript中的函数被设计为执行特定任务的代码块,通过关键字function来定义。JavaScript中定义函数有2种语法。

第一种方法:

<script>
    //定义
  function add(a,b){
    return a + b;
  }
  //调用
  var a = add(1,2);
  alert(a);
</script>

 第二种方法:

注意: JS 中,函数调用可以传递任意个数的参数。
<script>
    //第二种定义方法
  var add = function (a,b){
    return a + b;
  }
  //调用,实参可以是任意多个,但多出的没被接收
  var a = add(1,2,3,4);    //虽然4个实参,但是3和4没被接收,所以结果是3
  alert(a);
</script>

1.5 JavaScript对象

JavaScript中的对象有很多,主要可以分为如下3大类,我们可以打开W3school在线学习文档],来到首页,在左侧栏找到浏览器脚本下的JavaScript,如下图所示:

1.5.1 基本对象

1.5.1.1 Array对象

语法格式

Array对象时用来定义数组的。常用语法格式有如下2种:

方式1:

var 变量名 = new Array(元素列表); 

<script>
        var arr = new Array(1,2,3,4);
        for(var i = 0; i<arr.length; i++){
            console.log(arr[i]);
        }
</script>  

 方式2:

var 变量名 = [ 元素列表 ]; 

<body>
    <script>
        var arr = [1,2,3,4];
        for(var i = 0; i<arr.length; i++){
            console.log(arr[i]);
        }
    </script>      
</body>

注意:JS种数组长度可变, 类型可变。与java中不一样的是,JavaScript中数组相当于java中的集合,数组的长度是可以变化的。而且JavaScript是弱数据类型的语言,所以数组中可以存储任意数据类型的值。

<body>
    <script>
        var arr = [1,2,3,4];  
        arr[10] = 60;      
        console.log(arr[10]);   //长度可变,所以下标为10不越界,和Java不同
        console.log(arr[9]);    //下标为9的元素未定义,所以是undefined
        console.log(arr[8]);        
    </script>      
</body>

显示结果

数组存放数据类型可变,例如:

<body>
    <script>
        var arr = [1,2,3,4];  
        arr[10] = 60;   
        arr[9] = "a";   
        console.log(arr[10]);   //长度可变,所以下标为10不越界,和Java不同
        console.log(arr[9]);    //下标为9的元素类型是string,类型变化
        console.log(arr[8]);    //下标为8的元素未定义,所以是undefined    
    </script>      
</body>

 显示结果:

输出数组所有元素:

<body>
    <script>
        var arr = [1,2,3,4];  
        arr[10] = 60;   
        arr[9] = "a";   
        console.log(arr);   //输出全部元素          
    </script>      
</body>

 数组的属性和方法:

forEach()这个方法的参数,需要传递一个函数,而且这个函数接受一个参数,就是遍历时数组的值。

<body>
    <script>
        var arr = [1,2,3,4];  
        arr[10] = 60;   
       //for循环输出所有元素
       for(var i = 0; i < arr.length; i++){
        console.log(arr[i]);
       }
       console.log("--------------");
       //forEach遍历所有有值的元素
       arr.forEach(function(e){
        console.log(e);
       })                 
    </script>      
</body>

 push函数:

<body>
    <script>
        var arr = [1, 2, 3, 4];
        arr[10] = 60;
        arr.push(7, 8, 9);       
        console.log(arr); 
    </script>
</body>

 splice函数:

<body>
    <script>
        var arr = [1, 2, 3, 4];
        arr[10] = 60;
        arr.push(7, 8, 9);   
        arr.splice(1,2);   //从下标为1开始,删除2个    
        console.log(arr); 
    </script>
</body>

1.5.1.2 String对象

<body>
    <script>
        var s = "hello";
        console.log(s);                //hello
        console.log(s.length);         //5
        console.log(s.charAt(0));      //h
        console.log(s.indexOf("o"));   //4
        console.log(s.substring(0,3));  //hel,下标从0-3,含头不含尾,所以是0-2
    </script>
</body>

 

 

 

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

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

相关文章

【LeetCode】204.计数质数

204.计数质数&#xff08;中等&#xff09; 思路 埃拉托斯特斯筛法&#xff08;简称埃氏筛法&#xff09;&#xff0c;适用于「判断一个整数是否是质数」&#xff0c;该方法可以在判断一个整数 n 时&#xff0c;同时判断所有小于 n 的整数。 从 1 到 n 进行遍历&#xff0c;假…

内网渗透之权限维持-域控后门-SSPHOOKDSRMSIDSkeleton-Key

权限维持-基于验证DLL加载-SSP 方法一:但如果域控制器重启&#xff0c;被注入内存的伪造的SSP将会丢失。 mimikatz privilege::debug misc::memsspC:\Windows\System32\mimilsa.log 记录登录的账号密码 方法二:使用此方法即使系统重启&#xff0c;也不会影响到持久化的效果…

Plus and Multiply

题目&#xff1a; 题意解析&#xff1a; 有一个无穷大的正整数集合 S&#xff0c;该集合按下面所述方法生成&#xff1a; 数字 1 在集合 S 中。 若数字 x 在该集合中&#xff0c;那么数 xa 和数 xb 均在集合 S 中。&#xff08;其中 a 与 b 为给定常数&#xff09; 现在给出…

快速创作攻略:10分钟让你实现从文章撰写到多平台发布,支持公众号、B站、微博、知乎、头条等20种

快速创作攻略&#xff1a;10分钟让你实现从文章撰写到多平台发布&#xff0c;支持公众号、B站、微博、知乎、头条等20种 很多文字内容创作者&#xff0c; 想分享一个idea&#xff0c; 想介绍一个工具&#xff0c; 想分享经验或知识。 常碰到以下难题&#xff1a; 有个灵感但是要…

神经网络的基本概念、架构和训练方法

神经网络是一种由多个神经元按照一定的拓扑结构相互连接而成的计算模型。其灵感来自于人类大脑中神经元之间的相互作用。 在过去的几十年里&#xff0c;神经网络一直是人工智能领域中的热门研究方向之一。随着深度学习的兴起&#xff0c;神经网络的应用越来越广泛。本文将详细…

目标检测经典论文精读-R-CNN

目标检测经典论文精读-R-CNN R-CNN基本原理产生候选框-Selective Search 论文链接&#xff1a; https://www.cv-foundation.org/openaccess/content_cvpr_2014/papers/Girshick_Rich_Feature_Hierarchies_2014_CVPR_paper.pdf 论文技术报告链接&#xff1a; https://arxiv.org/…

无热图不组学!高阶文献热图R语言绘制小专场拿捏

一、概述 近在阅读近五年的一区高分的机器学习文献&#xff0c;其中有一种图出现频率特别高——热图。《Machine Learning and the Future of Cardiovascular Care: JACC State-of-the-Art Review》 《Comparison of Machine Learning Methods for Predicting Outcomes After…

阿里云服务器可以干嘛?ChatGPT等12件小事

拥有一台阿里云服务器可以用来做什么&#xff1f;ChatGPT最近很火&#xff0c;可以在云服务器上部署本地ChatGPT&#xff0c;搭建个人博客、企业网站&#xff0c;学习Linux、跑Python爬虫等&#xff0c;阿里云服务器网分享使用阿里云服务器用途的12件小事&#xff1a; 阿里云服…

cda星型模式、星座模式和雪花模式是什么鬼,怎么记

一、星型模式、雪花模式、星座模式的英文 星型模式 star schema 雪花模式 snowflake schema 二、形象记忆三种模式 星型模式&#xff0c;就像海绵宝宝里面的派大星&#xff0c;它长了多只手&#xff0c;每只手都抓着一个人。注意&#xff01;只有一个派大星&#xff08;只有…

高精度_加减乘除(理论+模板+例题)

&#x1f442; Rush E (Impossible Version) - Sheet Music Boss - 单曲 - 网易云音乐 &#x1f442; My Favorite Things - 羊毛とおはな - 单曲 - 网易云音乐 目录 &#x1f33c;前言 &#x1f33c;理论 &#x1f33c;理论结合题目 &#x1f3c6;1088: 大整数加法 &am…

Android Jetpack之Room数据库的使用(Kotlin+Room)

作者&#xff1a;舒呐 一、基本介绍 Room 持久性库在 SQLite 上提供了一个抽象层&#xff0c;以便在充分利用 SQLite 的强大功能的同时&#xff0c;能够流畅地访问数据库。具体来说&#xff0c;Room 具有以下优势&#xff1a; 针对 SQL 查询的编译时验证。可最大限度减少重复…

django ORM框架(操作数据库)

一、ORM框架介绍 ORM框架&#xff0c;把类和数据进行映射&#xff0c;通过类和对象操作它对应表格中的数据&#xff0c;进行增删改查&#xff08;CRUD) ORM框架中 数据库&#xff1a;需要提前手动创建数据库 数据表&#xff1a;与OMR框架中的模型类对应 字段&#xff1a;模…

阿里云,又瘫了!

大家好&#xff0c;我是老杨。 不知道你对前段时间&#xff0c;阿里云瘫痪的事情有印象不&#xff1f; 12月18号&#xff0c;阿里云发生了大规模服务中断的事情——主要是阿里云香港Region可用区C发生大规模服务中断事件。 中断也不是第一次了&#xff0c;但引起我注意的是&…

面向对象技术

面向对象技术 面向对象基础 面向对象基本概念 面向对象分析 面向对线设计 面向对象测试 UML 事务 关系 图 设计模式 创建型设计模式 结构型设计模式 行为型设计模式 面向对象基本概念 面向对象基本概念 达成目标具体需要做哪些事情。 对象 : 基本的运行实体,为类的实…

Vector - CAPL - CANoe硬件配置函数 - 05

目录 resetCan -- 重置CAN控制器 代码示例 ResetCanEx -- 重置CAN控制器的特定CAN通道 代码示例 ScanBaudrateActive -- 特定通道设置波特率 ScanBaudratePassive -- 开始扫描并检测给定通道上的波特率 resetCan -- 重置CAN控制器 功能&#xff1a;重置CAN控制器&#xf…

(2020)End-to-end Neural Coreference Resolution论文笔记

2020End-to-end Neural Coreference Resolution论文笔记 Abstract1 Introduction2 Related Work3 Task4 Model4.1 Scoring Architecture4.2 Span Representations5 Inference6 Learning7 Experiments7.1 HyperparametersWord representationsHidden dimensionsFeature encoding…

学习HCIP的day.06

十一、OSFP扩展知识点 1、关于OSPF状态机的问题 &#xff08;1&#xff09;在MA网络中&#xff08;要进行DR/BDR选举&#xff09;存在7种状态机&#xff0c;init是路由器A收到邻居B的hello包&#xff0c;但该hello包中没有A的RID&#xff1b; &#xff08;2&#xff09;在点到…

汽车EEA架构演进以及域控制器发展介绍

1、重要名词解析 &#xff08;1&#xff09;SDV&#xff1a;软件定义汽车&#xff1b; &#xff08;2&#xff09;SOA &#xff1a;一种 C/S 架构的软件设计方法&#xff1b; &#xff08;3&#xff09;OTA&#xff1a;空中下载技术&#xff08;Over-the-Air Technology&#x…

【MySql】数据库事务

事务 事务事务的操作事务并发处理可能出现的问题隔离级别MVCC&#xff1a;多版本并发控制 事务 事物本质上指一条 sql 语句或一组 sql 组合 事务的特性&#xff1a;ACID 1、原子性&#xff1a;一个事务&#xff0c;要么一次性完成&#xff0c;要么就不做 2、一致性&#xff1…

STM32驱动超声波+OLED显示,并上传数据到云端(ONENET)

本文将介绍如何使用STM32F103C8T6单片机和HC-SR04超声波测距模块来实现测距功能&#xff0c;并通过0.96寸OLED屏幕显示测距结果。 首先&#xff0c;我们需要了解一下HC-SR04超声波测距模块的工作原理。该模块通过发送超声波脉冲并接收回波信号的时间来计算物体与模块之间的距离…