[前端开发] JavaScript基础知识 [下]

上篇:JavaScript基础知识 [上]

JavaScript基础知识 [下]

    • 字符串
    • 数组
    • 函数
    • 对象

字符串

  • 字符串语法规则:单引号、双引号和反引号的使用
    • 利用双引号"或者单引号'所括起来
    • 双引号中不能嵌套双引号,单引号中不能嵌套单引号
    • 如果要在双引号中嵌套双引号或者再单引号中嵌套单引号,需要用转义字符\
      'Did he say \'hi\'?'
      "Did he say \"hi\"?"
      
      • 字符串默认是在一行
      • 如果要将长字符串分成多行, 可以在每一行的尾部使用反斜杠\
      var longstring = 'Hello, nice \
      to meet you!'
      
  • 字符串方法:常用的字符串操作方法
    • .charAt() 返回指定位置的字符, 参数从0开始编号

      var name = new String('english');
      name.charAt(0)// "e"
      
      • 如果参数为负数,或大于等于字符串长度,.charAt() 返回空字符串 ""
    • .concat() 连接两个字符串,返回一个新字符串,不改变原字符串

      var name1 = 'english';
      var name2 = 'math';name1.concat(name2);//"englishmath"
      
      • .concat() 可以接受多个参数
        'he'.concat('ll', 'o'); //"hello"
        
        • 如果参数不是字符串,那么此方法会先将其转为字符串,再进行连接
        • 如果不用此方式,也可以用 + 连接对各字符串, 但是加号如果遇到两个非字符串则会计算, 但是使用 concat 不管怎样都是不计算转字符串
    • .substring() 从原字符串取出子字符串并返回, 第一个参数表示子字符串的开始位置, 第二个参数表示结束位置(返回结果不包含该位置)

      var name1 = 'english';name1.substring(0,2);//"en"//省略第二个参数, 则表示子字符串一直到原字符串的结束
      name1.substring(2);//"glish"//如果第一个参数大于第二个参数, 则会自动更换两个参数位置
      name1.substring(2, 0);//"en"//如果参数是负数, 会自动将负数转为0
      name1.substring(-2, 2);//"en"
      
    • .substr() 从原字符串取出子字符串并返回, 第一个参数表示子字符串的开始位置, 第二个参数表示子字符串的长度(和.substring()不同点)

      • 省略第二个参数, 则表示子字符串一直到原字符串的结束
      • 如果第一个参数是负数, 表示倒数计算的字符位置(从-1开始)
      • 如果第二个参数是负数, 会自动将负数转为0
    • .indexOf() 用于确定一个字符串在另一个字符串中第一次出现的位置,返回结果是最开始匹配的位置. 如果返回-1表示不匹配

      'english'.indexOf('n');//1
      
      • 如果接受第二个参数,则 表示从该位置开始向后匹配
    • .trim()用于去除字符串两端的空格,返回新字符串

      " hello world! ".trim // "hello world!"
      
      • 不仅去除空格,还去除制表符 \t\v, 换行符 \n 和回车符 \r.
    • ES6扩展方法

      • 去除前面空格:.trimStart()

      • 去除后面空格:.trimEnd()

      • .split() 按照给定的规则分割字符串,返回一個由分割出來的字符串组成的数组

        'hello.nice.to.meet.you'.split('.')//["hello","nice","to","meet","you"]
        
        • 如果分割规则是空字符串,则返回是原字符串的每一个字符组成的一个数组
        • 参数省略则数组只包含一个成员,即原字符串
        • 该方法接收两个参数是,第一个参数是分割规则,第二个参数是返回的数组最大成员数

数组

  • 数组遍历:for循环、forEach方法、for…of语句的使用

    //利用for或者wihle循环
    for(var i in array){
    语句;
    }
    
    • 计算数组长度: array.length()
  • 数组方法:常用的数组操作方法

    • Array.is Array(数组名称)返回一个布尔值,表示参数是否为数组,可以弥补typeof运算符的不足(typeof返回是object,没有Array这个表示)

    • .push("a",….,"n")在数组末端添加一个或者多个元素,并且返回添加新元素后的数组长度(该方法会改变原数组)

    • 可以添加多条数据,中间用逗号分开

    • .pop() 用于删除数组的最后一个元素,并且返回被删除的元素(该方法会改变原数组)

    • .shift() 用于删除数组的第一个元素, 返回的是被删除的元素

    //可以采用以下方法清空数组
    while(item=array.shift());
    
    • .unshift() 向数组头部添加一个元素,可以添加多个,返回添加完新元素的数组长度

    • .join("分隔符",…,"分隔符") 以指定参数作为分隔符,将所有数组成员连接为一个字符串返回,如果不提供参数,默认用逗号分隔。

      • 如果数组成员是undefined或null或空位,则会返回一个空字符串
      • join和split可以实现数组和字符串的相互转换(数组 arr ;字符串 str)
        //将数组转为字符串
        str = arr.join("");
        
        //将字符串转换为数组
        arr = str.split("");
        
    • .concat()用于多个数组的合并,将新数组的成员添加到原数组成员的后部,然后返回一个新数组,原数组不变。

      • 数组1.concat(数组2,…,数组n)
    • .reverse() 用于颠倒排列的数组元素,返回改变后的数组,该方法将改变原数组。

      // 字符串反转排列
      str.split("").reverse().join("");
      
    • .indexOf() 返回给定元素在数组中第一次出现的位置(由0开始),没有则返回-1

      • 可以接受两个参数,第二个参数为开始搜索的位置

函数

  • 函数声明:函数的定义、调用和传参

    • function 命令: function命令声明的代码区块,就是一个函数。
      function 函数名(参数){函数体;
      }
      
  • 函数名的提升:函数名作用域和提升的规则

    • Javascript引擎将函数名视同变量名,因此在声明函数时,整个函数会像变量声明一样被提升到代码头部。

对象

  • 是一组键值对 key-value 的集合, 是一种无序的复合数据集合。
  • 每一个键名被称为属性,键值可以是任何类型,若键值为函数则把这个键值对应的属性称为方法。
  • JavaScript对象:对象的创建、属性和方法的访问
    • Math 对象

      • js原生对象,用于提供各种数学功能
      Math.abs(num)   //取绝对值Math.max(1,2,3) //3 如果参数为空返回- infinityMath.min(1,2,3) //1 如果参数为空返回infinityMath.floor(num) //向下取整Math.ceil(num) //向上取整Math.random()  //取随机数(0<=random<1) 返回0到1之间的一个伪随机数
      
    • Date 对象

      • js原生时间库,以 1970年1月1日00:00:00 作为时间的零点,可以表示的时间范围是前后各1亿天(单位是毫秒 ms

      • 时间戳:格林威治时间起至现在的总秒数

      • 格林威治时间: 1970年1月1日00:00:00

      • 北京时间: 1970年1月1日08:00:00

      • 格林威治和北京时间就是时区的不同

        Date.now(): 返回当前时间距离时间零点的毫秒数
        
      • Date中的 get 方法:获取实例对象某方面的值

        getTime(): 返回距格林威治时间的毫秒数getDate():返回对应每月的几号getDay():返回星期几(星期日为0,星期一为1,….getYear():返回距离1900年的年数getFullYear():返回四位的年份getMonth():返回月份(0表示1月)getHours():返回小时(0-23getMilliseconds():返回毫秒(0-999getMinutes():返回分钟(0-59getSeconds():返回秒(0-59

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

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

相关文章

GEE联系——正确加载指定区域的sentinel-1和2的影像

简介 本教程主要的目的是我们需要利用哨兵数据进行分别可视化,如何选取指定的研究区进行加载。 哨兵1号和哨兵2号是两个重要的数据保护和安全解决方案。它们被广泛应用于现代计算机系统和网络环境中,以保护数据的完整性、可用性和机密性。下面将详细介绍哨兵1号和哨兵2号的…

微服务设计:Spring Cloud API 网关概述

Spring Cloud API 网关是指一个位于微服务架构中的代理服务器&#xff0c;它负责将外部请求路由到内部微服务。API 网关可以提供多种功能&#xff0c;包括&#xff1a; 路由: 将请求路由到特定的微服务。负载均衡: 将请求分散到多个微服务实例上。安全: 身份验证、授权和安全策…

网络编程预备知识

一、网络协议模型 协议&#xff1a;事先约定好的一组规则。 1、OSI七层协议模型(理性化模型&#xff0c;未完全实现) 上层->底层&#xff1a;应用层、表示层、会话层、传输层、网络层、数据链路层、物理层 2、TCP/IP四层协议模型 TCP/IP&#xff1a;指一个协议族&…

算法学习——LeetCode力扣贪心篇4

算法学习——LeetCode力扣贪心篇4 763. 划分字母区间 763. 划分字母区间 - 力扣&#xff08;LeetCode&#xff09; 描述 给你一个字符串 s 。我们要把这个字符串划分为尽可能多的片段&#xff0c;同一字母最多出现在一个片段中。 注意&#xff0c;划分结果需要满足&#xf…

【C++】---类和对象(中)默认成员函数 和 操作符重载

前言&#xff1a; 假如一个类中既没有成员变量也没有成员函数&#xff0c;那么这个类就是空类&#xff0c;空类并不是什么都没有&#xff0c;因为所有类都会生成如下6个默认成员函数&#xff1a; 一、构造函数 1、构造函数的定义及其特性 对于日期类对象&#xff0c;我们可…

基于matlab的密度散点图绘制

1. 什么是密度散点图&#xff1f; 密度散点图就是在普通散点图的基础上&#xff0c;基于样本点一定范围的样本数计算该样本点的密度&#xff0c;以不同的颜色来显示样本点密度的大小&#xff0c;这样能够直观的显示出数据的空间聚集情况&#xff0c;如下图分别是二维和三维密度…

【教程】C++语言基础学习笔记(六)——String字符串

写在前面&#xff1a; 如果文章对你有帮助&#xff0c;记得点赞关注加收藏一波&#xff0c;利于以后需要的时候复习&#xff0c;多谢支持&#xff01; 【C语言基础学习】系列文章 第一章 《项目与程序结构》 第二章 《数据类型》 第三章 《运算符》 第四章 《流程控制》 第五章…

MySQL 数据库安装教程详解(linux系统和windows系统)

MySQL 数据库是一种广泛使用的开源关系数据库管理系统。在 Linux 和 Windows 系统上安装 MySQL 数据库的步骤略有不同。以下是详细的安装教程。 Linux 系统安装教程 1. **安装前提**&#xff1a;确保你的 Linux 系统已经安装了 wget、unzip、tar 等必要的工具。 2. **下…

[word] word保存了但是再打开就没有了怎么办 #职场发展#其他

word保存了但是再打开就没有了怎么办 word保存了但是再打开就没有了怎么办&#xff1f; 一些朋友反映常常找不到自己保存在电脑中的Word的文档&#xff0c;不知道是怎么回事。如果是突然消失的&#xff0c;其实情况还是有很多种&#xff0c;相信大家也有一定的了解。在这里&a…

阿里云幻兽帕鲁Linux 服务器下载游戏存档的方法

阿里云幻兽帕鲁Linux 服务器下载游戏存档的方法也非常简单。 远程连接到阿里云的 linux服务器后&#xff0c;可以在 ECS 远程连接命令行界面&#xff0c;点击左上角的文件&#xff0c;打开文件树。通过一行命令打包。 在打包后的 Saved.tar 文件上右键&#xff0c;选择 下载文…

【python】python入门(输出)

本篇文章将会介绍关于python的常见输出&#xff0c;希望对您有帮助&#xff01; 输出 用到print函数 print(oh mygod)##或者 print("oh mygod")##或者 print("oh"" ""mygod") 输出结果&#xff1a; 用单引号、双引号都可以 ,引号中可…

下一代Windows系统曝光:基于GPT-4V,Agent跨应用调度,代号UFO

下一代Windows操作系统提前曝光了&#xff1f;&#xff1f; 微软首个为Windows而设的智能体&#xff08;Agent&#xff09; 亮相&#xff1a; 基于GPT-4V&#xff0c;一句话就可以在多个应用中无缝切换&#xff0c;完成复杂任务。整个过程无需人为干预&#xff0c;其执行成功…

OpenMMlab导出DETR模型并用onnxruntime推理

使用mmlab导出onnx模型&#xff1a; from mmdeploy.apis import torch2onnx from mmdeploy.backend.sdk.export_info import export2SDKimg demo.JPEG work_dir ./work_dir/onnx/detr save_file ./end2end.onnx deploy_cfg mmdeploy/configs/mmdet/detection/detection_on…

【Qt】qt常用控件之QIcon 以及 qrc机制设置图片路径(QtCreator)

文章目录 1. QIcon / windowIcon2. setIcon() 与 setwindowIcon()2.1 setIcon() 介绍与使用2.2 setWindowIcon 介绍与使用 3. 路径问题 & qrc机制的引入3.1 绝对路径 / 相对路径 的问题3.2 qrc机制3.3 在QtCreator下利用qrc机制引入图片 1. QIcon / windowIcon QIcon QIco…

nextjs use client 和use server区别

在Next.js中&#xff0c;use client和use server是用于在服务器端和客户端渲染时分别执行特定逻辑的自定义钩子。虽然具体的实现方式可能会因项目而异&#xff0c;但一般来说&#xff0c;这两个钩子有如下的区别&#xff1a; 执行环境&#xff1a;use server主要用于服务器端渲…

VUE 字段为空时,一个class搞定,适用多种情形

我抄的,我抄的,我抄的,我抄的,我抄的 但真香 在写表格时&#xff0c;当某字段为空&#xff0c;你是否是这样写的&#xff1a; <el-table-column label"更新时间" align"center" prop"updateTime"><template slot-scope"scope&qu…

黄东旭:“向量数据库”还是“向量搜索插件 + SQL 数据库”?丨我对 2024 年数据库发展趋势的思考

本文由 PingCAP 黄东旭撰写&#xff0c;讨论了数据库技术在 2023 年的快速变革&#xff0c;并对 2024 年的数据库发展趋势进行了预测。文章重点关注了 GenAI 时代对数据库的影响&#xff0c;提出了在数据库选择上的两种路径&#xff1a;“向量数据库”和“向量搜索插件 SQL 数…

PR:时间重映射

做一个变换视频速度的效果 原片如下&#xff1a; 现在将跑步的人中间一段加速&#xff0c;后面一段减速 操作如下&#xff1a; 此处点击关键帧时&#xff0c;可以用钢笔工具&#xff0c;也可以按住Ctrl键点击 操作后效果如下&#xff1a;

Write operation failed: computed value is readonly问题解决

源代码&#xff1a; // 封装倒计时逻辑函数 import { computed, ref } from vue import dayjs from dayjs export const useCountDown () > {// 1.响应式数据const time ref(0)// 格式化时间const formatTime computed(()>dayjs.unix(time.value).format(mm分ss秒))/…

XGBoost模型部署与在线预测的完整指南

导言 XGBoost是一种强大的机器学习算法&#xff0c;但训练好的模型要想在实际应用中发挥作用&#xff0c;需要进行部署并实现在线预测功能。本指南将详细介绍如何在Python中部署XGBoost模型&#xff0c;并实现在线预测功能&#xff0c;同时提供相应的代码示例。 导出模型 首…