【第四部分 | JavaScript 基础】2:运算、控制流程、数组

news2024/12/24 8:39:46

目录

| 运算符

概述

浮点数有精度误差

自增和自减

比较运算符

逻辑运算符

赋值运算符

运算优先级

| 流程控制

条件判断 if、if...else

三元表达式

分支语句 switch

| 循环

| 断点调试

| 数组

创建数组

访问与遍历

获取数组长度

JavaScript的数组 和 Java 的区别


| 运算符

概述


浮点数有精度误差

 


自增和自减


比较运算符

 

 


逻辑运算符

 


赋值运算符

 


运算优先级

 


| 流程控制

条件判断 if、if...else

 

 


三元表达式


分支语句 switch

经过测试,表达式和value的值可以是数字、也可以是字符串等等

 

| 循环

 

 

 


| 断点调试

JavaScript在浏览器端进行断点调试

火狐

谷歌

 


| 数组

创建数组


访问与遍历

访问

 

JS没有数组越界异常。 如果访问了一个不存在的下标元素,则得到的元素值为 undefined

遍历:使用循环进行遍历 示例如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        var nums = [1,2,3,4,5,6];
        for(var i=0 ; i<3 ; i++){
            console.log(nums[i]);
        }
    </script>
</head>
<body>
    
</body>
</html>

 


获取数组长度

数组名.length


JavaScript的数组 和 Java 的区别

区别

  • JS的数组:可以不指定数组初始容量,可以自动扩容,不会出现数组越界(越界会返回undefined),数组中可以存放任意数据类型甚至混合放不同数据类型

  • Java的数字:必须指定初始容量,且长度一旦确定不能更改,会出现ArrayIndexOutOfBoundsException异常,数组中只能存放一种指定的类型

[案例] 利用JS的特性 剔除数组中不为0的数

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        var nums = [1,2,0,3,4,5,0,2,3];
        var newNums = [];
        for(var i = 0 ; i < nums.length ; i++) {
            if(nums[i] != 0) {
                // 很巧妙地把数组玩成了集合,可以灵活变换长度(JS数组的特性)
                newNums[newNums.length] = nums[i];
            }
        }
        console.log(newNums);
    </script>
</head>
<body>
    
</body>
</html>

 上述代码,利用了JavaScript可以动态扩容的特性。 同样的一段代码,放在Java中则会报错:newNums数组未初始化

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

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

相关文章

LabVIEW项目中实时目标出现黄色感叹号

LabVIEW项目中实时目标出现黄色感叹号 当打开一个包含实时目标的LabVIEW项目&#xff08;如CompactRIO&#xff08;cRIO&#xff09;、CompactDAQ&#xff08;cDAQ&#xff09;或实时PXI&#xff09;时&#xff0c;在目标旁边看到一个黄色感叹号。单击目标时&#xff0c;收到以…

目标检测论文解读复现之十四:一种基于残差网络优化的航拍小目标检测算法

前言 此前出了目标改进算法专栏&#xff0c;但是对于应用于什么场景&#xff0c;需要什么改进方法对应与自己的应用场景有效果&#xff0c;并且多少改进点能发什么水平的文章&#xff0c;为解决大家的困惑&#xff0c;此系列文章旨在给大家解读最新目标检测算法论文&#xff0…

代码随想录算法训练营第六天|字符串 栈 队列

字符串 字符串是我的弱点&#xff0c;主要是函数用的不是很熟练 注意因为字符串是左闭右开区间&#xff0c;而且字符串末尾还有一个"/0"&#xff0c;所以我们在reverse的时候是 [s.begin(),s.begin() len] 其中len是string的长度&#xff0c;假如string的长度是6…

[Nacos][Rancher][微服务] 容器化Docker部署的Nacos拒接连接

问题 2022-11-21 16:16:37.836 |-ERROR [main] com.alibaba.nacos.client.naming [552] -| request: /nacos/v1/ns/instance failed, servers: [localhost:8848], code: 500, msg: Connection refused (Connection refused) 2022-11-21 16:16:37.837 |-ERROR [main] com.ali…

Move 学习记录

Move在线IDE Move Playground 基本数据类型 只包括 无符号整型、布尔型、地址 3种类型&#xff0c;没有像其它语言中有字符串类型。 数据类型数据类型表示符号无符号整型u8, u64, u128布尔类型bool地址类型address&#xff0c; ex: Std, 0x1, Sender 变量定义&#xff08;4…

应急响应-文件痕迹排查

文件痕迹排查文件痕迹排查Windows文件痕迹排查敏感目录时间点文件排查Linux文件痕迹排查敏感目录时间点排查特殊文件文件痕迹排查 在应急响应排查的过程中&#xff0c;由于大部分的恶意软件、木马、后门等都会在文件维度上留下痕迹&#xff0c;因此对文件痕迹的排查必不可少。…

【数据挖掘】关联规则挖掘

关联规则挖掘 一、基本概念 概念 关联规则挖掘(Association rules mining) 在数据集中找到各项数据之间的关联关系。 项目(Item) IDItems bought10A,B,D20A,C,D30A,D,E 支持度(support) 项集{x,y}\{x,y\}{x,y}在总项集中出现的概率(x,yx,yx,y同时出现) Support(x→y)P(x,…

使用ESP32连接腾讯云实现远程控制方法

​大家好&#xff0c;上次给大家分享了如何使用ESP32实现蓝牙通信&#xff0c;今天跟大家聊聊如何使用ESP32连接腾讯云实现远程控制。本次实验用到MQTT协议&#xff0c;同样&#xff0c;我用miropython编写程序实现&#xff0c;最终可以通过腾讯连连微信小程序添加设备来发布主…

【GamePlay】两个ScrollView插件,Super ScrollView UIExtensions

前言 记录一下最近了解使用的两个滚动列表插件&#xff0c;UIExtensions 和Super ScrollView 。 原生的ScrollView 只能滚动 Viewport中Content范围内的物体&#xff0c;如果要使用必须得做一些功能扩展&#xff0c;很不方便&#xff0c;于是找了这两个插件。 前者不只是滚动…

一文了解JVM整体设计

一、JDK / JRE / JVM二、.Java 文件运行过程三、JVM运行时数据区3.1 Method Area3.2 Heap3.3 Java Virtual Machine Stacks3.4 Native Method Stacks3.5 The PC Register四、JVM内存模型4.1 JVM对象创建和回收过程五、垃圾收集5.1 确定垃圾收集对象5.1.1 引用计数法5.1.2 可达性…

2023年英语二大作文押题猜想(达立易考)

又到了考前大开脑洞的时间了&#xff01;每年一到这个时间点&#xff0c;关于押题猜题的话题就会铺天盖地而来&#xff0c;众多名师大咖更是会集毕生所学&#xff0c;期待可以在这个环节押中部分题目彰显实力&#xff0c;其中主观题就是大家集中关注的重要热点模块。押题听起来…

声纹识别开源工具 ASV-Subtools

今天非常荣幸有机会在Speechhome语音技术研讨会上分享我们团队在开源项目上的一些工作。今天我分享的主题是声纹识别开源工具ASV-Subtools。 今天我分享的主要有5个部分的内容&#xff0c;分别是背景介绍、工具介绍、实验结果、Subtools工程化、总结与展望。其中Subtools工程化…

【ROS】机械人开发五--ROS基本概念的程序实现

机械人开发五--ROS基本概念的程序实现一、开发工具二、RoboWare Studio的基本使用2.1 软件启动2.2 修改界面语言2.3 使用2.4 编译文件2.5 卸载三、话题通信四、话题的代码编写4.1 发布端4.2 接收端4.3 测试五、自定义消息5.1 自定义消息类型5.2 自定义消息发布端5.3 自定义消息…

el-menu动态加载路由,菜单的解决方案

先看需要实现的效果 这里有一级也有二级菜单&#xff0c;注意二级菜单的父目录&#xff08;”选项设置“点击不会跳转&#xff0c;只是展开目录&#xff09;&#xff0c;然后点击去详情页&#xff0c;需要跳到一个隐藏的路由&#xff0c;不在菜单展示的路由 还有一点要注意&…

LaTex常用技巧5:公式太长换行并加大括号

使用LaTex做笔记的时候发现公式太长&#xff0c;一行会超出页面&#xff0c;于是想到换行。 原来的代码&#xff0c;这里使用了包bm&#xff0c;测试的时候前面请使用\usepackage{bm}。 \begin{equation}_{i}^{G} {\bm{a}}\begin{cases} _{i}^{i-1}\ddot{\bm{p}}, &i1\\_…

web课程设计网页规划与设计 html+css+javascript+jquery+bootstarp响应式游戏网站Bootstrap模板(24页)

&#x1f389;精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业…

网址,URL,域名,IP地址,DNS,域名解析(转载)

一、基本常识 互联网上的所有数据都是存储在主机(服务器)上互联网中的所有主机都拥有唯一的IP地址互联网中任意两台主机通信都是通过IP地址来实现 上网的实质 就是获取网址对应主机上的数据并在用户主机上进行展示(浏览器上) 疑问&#xff1a;互联网中的任意两台主机通信是依…

详细介绍百度ERNIE:通过知识集成增强表示

文章目录ERNIE简介相关工作采用矢量表示单词 &#xff0c;上下文无关的表示采用上下文来预测丢失的单词&#xff0c;没有考虑先验知识采用异构数据ERNIE的详细实现Transformer编码器知识整合基本级别掩码短语级别掩码实体级别掩码实验异构语料库预训练DLM&#xff08;对话语言模…

python自动化:桌面壁纸下载器,满足你对桌面壁纸的无限畅想!

随着计算机性能的提升&#xff0c;人们对计算机个性化的要求也越来越高了&#xff0c;自己使用的计算机当然要设置成自己喜欢的风格&#xff01; 对于桌面壁纸有着强烈要求的朋友们有福了&#xff0c;推荐一个微软免费畅玩无限高清壁纸的官网。 https://cn.bing.com/images/t…

深入学习数组

目录 一、一维数组 1、数组的创建和初始化 2、一维数组的使用 3、*一维数组在内存中的存储 二、二维数组 1、二维数组的创建和初始化 2、二维数组的使用 3、*二维数组在内存中的存储 三、数组越界 一、一维数组 1、数组的创建和初始化 数组是一组相同类型元素的集合。 数组…