JavaScript学习笔记02

news2024/11/23 12:54:16

JavaScript笔记02

数据类型详解

字符串

  • 在 JavaScript 中正常的字符串都使用单引号' '或者双引号" "包裹
  • 例:

在这里插入图片描述

转义字符

  • 在 JavaScript 字符串中也可用使用转义字符(参考:详解转义字符):
  • 例:

在这里插入图片描述

编写多行字符串

  • 在 JavaScript 中可以使用 ` 符号(键盘Tab键上面、Esc键下面的键)将多行字符串包裹来编写多行字符串
  • 例:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
        "use strict";
        //编写多行字符串:使用 ` 符号(键盘Tab键上面、Esc键下面的键)将多行字符串包裹
        let msg =
            `hello
world
你好
世界`
    </script>
</head>
<body>

</body>
</html>
  • 在浏览器控制台中输入console.log(msg),打印上面编写的多行字符串:

在这里插入图片描述

模板字符串

  • JavaScript 还支持使用模板字符串(ES6新特性)
  • 例:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
        "use strict";
        //模板字符串
        let name = "张三"
        let msg = `你好呀,${name}`
    </script>
</head>
<body>

</body>
</html>
  • 在浏览器控制台中输入console.log(msg),打印字符串msg

在这里插入图片描述

获取字符串的长度 & 指定下标位置的字符

  • 我们可以通过使用字符串.length来获取字符串的长度,也可以通过使用字符串[下标]来获取字符串中指定下标位置的字符
  • 例:

在这里插入图片描述

可变性:不可变

  • 需要注意的是,JavaScript 中的字符串是不可变的
  • 例:

在这里插入图片描述

大小写转换

  • 注意:以下使用的是函数(方法),而不再是属性
  • 我们可以使用toUpperCase()方法将字符串中的小写字母转换为大写;也可以使用toLowerCase()方法将字符串中的大写字母转换为小写
  • 例:

在这里插入图片描述

获取指定字符在字符串中的下标

  • 我们可以使用indexOf()方法获取指定字符在字符串中的下标
  • 例:

在这里插入图片描述

截取字符串

  • 我们可以使用substring()方法截取指定下标区间内的字符串(左闭右开区间)
  • 例:

在这里插入图片描述

数组

  • 在 JavaScript 中,数组可以包含任意类型的数据
  • 例:

在这里插入图片描述

长度

  • 我们可以通过使用数组.length来获取数组的长度
  • 例:

在这里插入图片描述

  • 注意:给数组的lentgh赋值,数组的大小就会发生变化;如果赋的值过小,元素就会丢失!
  • 例:

在这里插入图片描述

获取指定元素在数组中的下标索引

  • 我们可以使用indexOf()方法来获取指定元素在数组中的下标索引
  • 例:

在这里插入图片描述

  • 注意,上述例子中的数字1和字符串"1"是不同的!

截取数组 - slice()

  • 我们可以使用slice()方法来截取指定下标区间内的数组,返回一个新的数组,类似字符串中的substring()方法。
  • 例:

在这里插入图片描述

从尾部添加与删除元素 - push() & pop()

  • push() - 向数组尾部添加元素(可以添加一个或多个),并返回添加后数组的长度。
  • pop() - 从数组的尾部删除一个元素(删且只删除一个),并返回被删除的元素。
  • 例:

在这里插入图片描述

从头部添加与删除元素 - unshift() & shift()

  • unshift() - 向数组头部添加元素(可以添加一个或多个),并返回添加后数组的长度。
  • shift() - 从数组的头部删除一个元素(删且只删除一个),并返回被删除的元素。
  • 例:

在这里插入图片描述

排序 - sort()

  • sort() - 对数组的项目进行排序,并返回排序后的数组 。
  • 排序顺序可以是按字母或数字,也可以是升序(向上)或降序(向下)。
  • 默认情况下,sort() 方法将按字母和升序将值作为字符串进行排序。
  • 例:

在这里插入图片描述

元素反转 - reverse()

  • reverse() - 反转数组中元素的顺序,并返回同一数组的引用。
  • 例:

在这里插入图片描述

拼接数组 - concat()

  • concat() - 用于拼接两个或多个数组。
  • 注意:concat() 方法不会更改现有数组,而是返回一个新数组,其中包含已连拼数组的值。
  • 例:

在这里插入图片描述

分隔符 - join()

  • join - 将数组中的所有元素转换为一个字符串,并且这个字符串中的所有元素都通过指定的分隔符进行分隔。
  • 例:

在这里插入图片描述

多维数组

  • JavaScript 中多维数组的定义方式以及多维数组中指定下标位置元素的获取方式如下:
  • 例:

在这里插入图片描述

对象

  • 补充:在 JavaScript 中,所有的键都是字符串,值是任意对象。
  • 例如:在调用对象中的属性时,除了可以使用对象名.属性名,还可以使用属性名["属性值"]这种方式调用:

在这里插入图片描述

定义对象

  • 在 JavaScript 中,对象是若干个属性的键值对(属性:属性值)的集合,多个属性之间用逗号隔开,最后一个属性后则不添加逗号
let 对象名 = {
    属性名: 属性值,
    属性名: 属性值,
    属性名: 属性值
}
  • 例:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
        // 定义一个person对象
        let person = {
            name: "张三",
            age: 18,
            gender: "男",
            score: 80
        }
    </script>
</head>
<body>

</body>
</html>

对象赋值

  • 和 Java 一样,在 JavaScript 中给对象中的属性赋值也是直接使用等号=
  • 例:

在这里插入图片描述

使用不存在的属性

  • 在 JavaScript 中即使我们使用了一个不存在的对象属性,也不会报错,而是会返回undefined
  • 例:

在这里插入图片描述

动态的删减属性

  • 在 JavaScript 中,我们可以通过使用delete,实现动态的删除对象中的属性
  • 例:

在这里插入图片描述

动态的添加属性

  • 在 JavaScript 中,我们还可以动态的添加属性,直接给新的属性添加值即可
  • 例:

在这里插入图片描述

判断属性是否在这个对象中

  • 我们可以使用"属性名" in 对象名来判断属性是否在这个对象中
  • 例:

在这里插入图片描述

判断属性是否是这个对象自身拥有的 - hasOwnProperty()

  • 我们可以使用对象名.hasOwnProperty("属性名")来判断属性是否是这个对象自身拥有的
  • 例:

在这里插入图片描述

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

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

相关文章

电工什么是电动势

什么是电动势&#xff1f;及电源电动势计算公式与方向确定 前面我们讲到在基本电路中的电流和电压的基础知识&#xff0c;而本文要讲的电动势和电压是一个很类似的概念。那么什么是电动势&#xff1f;电源电动势的计算公式是什么&#xff1f;它的方向如何确定及与电压有什么区…

【C语言】找单身狗问题

一.找单身狗问题初阶 1.问题描述 一个数组中只有一个数字是出现一次,其他所有数字都出现了两次.编写一个函数,找出这个只出现一次的数字. 例如: 有数组的元素是:1,2,3,4,5,1,2,3,4 只有5出现了一次,要找出5. 2.解题思路 常规思路: 在常规思路中,我们首先想到的肯定是使用两层…

腾讯云新用户有哪些优惠政策和专属活动?

腾讯云作为中国领先的云计算服务提供商&#xff0c;一直在为用户提供优质、高效且具有竞争力的服务。对于新用户&#xff0c;腾讯云更是诚意满满&#xff0c;推出了一系列优惠政策和专属活动。本文将详细介绍腾讯云新用户的优惠政策和专属活动&#xff0c;帮助大家更好地了解如…

ArcGIS 10.6安装教程!

软件介绍&#xff1a;ArcGIS是一款专业的电子地图信息编辑和开发软件&#xff0c;提供一种快速并且使用简单的方式浏览地理信息&#xff0c;无论是2D还是3D的信息。软件内置多种编辑工具&#xff0c;可以轻松的完成地图生产全过程&#xff0c;为地图分析和处理提供了新的解决方…

android注解之APT和javapoet

前言 前面我们已经讲过注解的基本知识&#xff0c;对于注解还不太了解的&#xff0c;可以去看一下之前的文章&#xff0c; android 注解详解_袁震的博客-CSDN博客。 之前我们在讲注解的时候&#xff0c;提到过APT和JavaPoet&#xff0c;那么什么是APT和JavaPoet呢&#xff1…

pprof火焰图性能优化

pprof火焰图性能优化 火焰图&#xff08;flame graph&#xff09;是性能分析的利器,在go1.1之前的版本我们需要借助go-torch生成,在go1.1后go tool pprof集成了此功能,今天就来说说如何使用其进行性能优化 在你启动http server的地方直接加入导入: _ “net/http/pprof” 获取…

如何在 7 分钟内黑掉 40 个网站

这将详细讲述我如何侵入托管 40 个(这是一个确切数字)网站的服务器以及我的发现。 注意:需要一些必备的 CS 知识才能理解本文的技术部分。 一位朋友给我发消息说他的网站发现了XSS 漏洞,希望我进一步查看。这是一个重要的阶段,因为我倾向于要求他正式表示我已获得他的许可…

Mojo 摸脚语言,似乎已经可以安装

文章原地址&#xff1a;https://i.scwy.net/it/2023/090821-mojo/ Mojo 吹得很凶&#xff0c;面向AI编程&#xff0c;甩Python几十条街&#xff0c;融资上亿.... 但无缘一试&#xff0c;在Win和Ubuntu上试都不能通过。 由 LLVM 和 Swift 编程语言的联合创始人 Chris Lattner…

荣耀崛起阵容推荐,荣耀崛起最强阵容

今天给大家带来的荣耀崛起阵容推荐是新手阵容推荐&#xff0c;以核心输出为点&#xff0c;由点及面&#xff0c;来展开叙述阵容&#xff01; 关注【娱乐天梯】&#xff0c;获取荣耀崛起0.1折内部福利号 荣耀崛起最强阵容兽族战神流&#xff1a; 此阵容是以战士为核心&#xff0…

pycharm使用

在使用pycharm时&#xff0c;有时一个回车或者一个tab键&#xff0c;缩进的长度不符合预期可以调整设置tab键缩进的长度&#xff1a; 平时工作中&#xff0c;不同的人在编辑代码缩进的时候&#xff0c;有的人喜欢按四个或者六个空格&#xff0c;有的人喜欢按tab键&#xff0c;而…

网络变压器/网络滤波器(脉冲变压器)选型/定制要明确的要求

Hqst盈盛&#xff08;华强盛&#xff09;电子导读&#xff1a;1,做电路板项目开发的工程师有时会遇到开发标的的空间限制&#xff0c;要对电子元器件的占用空间进行优化&#xff0c;同样电性参数的产品有的产品选择性比较小,只有部分产品有可选择性,这就给工程师进行板子空间优…

OJ练习第167题——单词接龙

单词接龙 力扣链接&#xff1a;127. 单词接龙 题目描述 字典 wordList 中从单词 beginWord 和 endWord 的 转换序列 是一个按下述规格形成的序列 beginWord -> s1 -> s2 -> … -> sk&#xff1a; 每一对相邻的单词只差一个字母。 对于 1 < i < k 时&…

ES快速学习

ES 用于&#xff1a;存储、分析、检索 的工具 组成及与类比到mysql组成 倒排索引

Redis 介绍安装

数据库 关系型数据库 关系型数据库是一个结构化的数据库&#xff0c;创建在关系模型&#xff08;二维表格模型&#xff09;基础上&#xff0c;一般面向于记录。 SQL 语句&#xff08;标准数据查询语言&#xff09;就是一种基于关系型数据库的语言&#xff0c;用于执行对关系型…

Spring Bean的生命周期及三级缓存流程

Spring Bean 的生命周期说起来其实就三个大块&#xff1a;实例化Bean -> 设置属性(注入和装配) -> 初始化 -> 使用Bean -> 销毁Bean 这个很好理解&#xff0c;但是内部是怎么样注入&#xff0c;初始化以及销毁&#xff1f;经历怎么样的过程呢&#xff1f;追随这些问…

LeetCode(力扣)332.重新安排行程Python

LeetCode332.重新安排行程 题目链接代码 题目链接 https://leetcode.cn/problems/reconstruct-itinerary/ 代码 class Solution:def backtracking(self, tickets, used, cur, result, path):if len(path) len(tickets) 1:result.append(path[:])return Truefor i, ticket…

软件设计开发笔记4:QT操作SQLite数据库

有时候我们需要在软件中记录一些历史数据以便于对数据的查询。而我们希望软件不能太复杂&#xff0c;体量也不要太大&#xff0c;这个时候就需要如SQLite这样轻量级的数据库。这篇中我们就来讨论如何在使用QT开发应用是操作SQLite数据库。 0、概述 SQLite是一款开源、轻量级、…

SpringBoot原理-自动配置-原理分析-@Conditional

前言 在自动配置类中声明Bean的时候&#xff0c;除了在方法上添加Bean注解&#xff0c;还会加上Conditionalxxx的注解&#xff08;该注解都是条件装配的注解&#xff09; Conditional 作用&#xff1a;按照一定的条件进行判断&#xff0c;在满足给定条件后才会注册对应的bea…

CSP 202203-1 未初始化警告

答题 要注意是xi和yi的范围&#xff0c;yi可以是0为常数。 #include<iostream> using namespace std;int main() {int n,k;cin>>n>>k;bool*initializenew bool[n]{false};int result0,x,y;while(k--){cin>>x>>y;if(y&&!initialize[y-1…

E. Hanging Hearts

Problem - E - Codeforces 思路&#xff1a;我们考虑用树形dp&#xff0c;用f[i][0]表示以i为根&#xff0c;并且当前节点不在最长上升子序列中&#xff0c;用f[i][1]表示以i为根&#xff0c;当前节点在最长上升子序列中&#xff0c;那么f[i][0]max(f[j][0],f[j][1])&#xff0…