【前端】JavaScript基础(二)

article/2025/10/4 7:37:11

目录

一、内置对象

 Math对象

 Data日期

数组对象

 字符串对象

字符串的不可变

根据字符返回位置

 根据位置返回字符(重点)

 字符串基本方法(重点)

 字符串的替换与转换

二、简单类型和复杂类型

简单类型传参

复杂类型传参


一、内置对象

JavaScript中的对象分为3种:自定义对象、内置对象、浏览器对象。

内置对象:JS语言自带的一些对象,这些对象供开发者使用,并提供了一些常用的或是最基本而必要的功能(属性和方法)。

JavaScript提供了多个内置对象:Math、Date、Array、String等。

查阅文档:MDN 网页文档 (mozilla.org)

 Math对象

Math数学对象不是一个构造函数,所有我们不需要new来调用。

1.绝对值

Math.abs('-1');//隐式转换,会把字符型-1转换成数字型。

2.三个取整方法

        Math.floor();  //向下取整 往最小取值Math.ceil();  //向上取整 往最大取值Math.round(); //四舍五入,.5往大了取,如-1.5取-1

3.随机数方法

Math.random(); //返回一个大于等于0小于1的随机小数,这个方法里面不跟参数
Math.floor(Math.random()*(max-min+1))+min;//得到两个数之间的随机整数

 Data日期

Data()日期对象是一个构造函数,必须使用new来调用创建我们的日期对象。

        var date = new Date();console.log(date);
  • 如果没有参数,返回当前系统的当前时间
  • 参数常用的写法,数字型:2022,11,7或者字符串型'2022-11-7 8:8:8'

日期格式化

 注意:返回的月份小1个月,月份要+1。

获取日期的总的毫秒形式(时间戳):

1.通过valueOf()

        //获取距离1970年1月1日过去了多少毫秒数var date = new Date();console.log(date.valueOf());

2.通过getTime()

        //获取距离1970年1月1日过去了多少毫秒数var date = new Date();console.log(date.getTime());

 3.简单的写法(最常用的写法)

        var date1 = +new Date();

4.H5新增的方法

        console.log(Date.now());

数组对象

创建数组

1.利用数组字面量

var arr = [1,2,3];

2.利用new Arry()

        var arr = new Array();//创建了一个空的数组var arr1=new Array(2);//这个2表示数组的长度为2,里面有两个空的数组元素var arr2=new Array(2,3);//等价于[2,3]表示里面有2个数组元素是2和3

检测是否为数组

1.instanceof检测

        var arr = [];console.log(arr instanceof Array);

 2.H5新增方法,ie9以上版本才可以

Array.isArray(参数);

添加删除数组元素的方法

 数组排序

        var arr1 = [13, 4, 77, 1, 7];arr1.sort(function (a, b) {return a - b;//升序排列return b - a;//降序排列});

数组索引方法

 数组转换成字符串

 字符串对象

基本包装类型:就是把简单数据类型包装成为复杂数据类型,这个简单数据类型就有了属性和方法。

JavaScript给String、Number和Boolean提供了基本包装类型。

        var str = 'andy';console.log(str.length);//1.把简单数据类型包装为复杂数据类型var temp = new String('andy');//2.把临时变量的值给strstr = temp;//3.销毁这个临时变量temp = null;

字符串的不可变

指的是里面的值不可变,虽然看上去可以改变内容,但其实是地址变了,内存中新开辟了一个内存空间。

因为字符串的不可变,所以不要大量的拼接字符串

根据字符返回位置

字符串所有的方法,都不会修改字符串本身(字符串是不可变的),操作完成会返回一个新的字符串。

 根据位置返回字符(重点)

 字符串基本方法(重点)

 字符串的替换与转换

        //1.替换字符replace('被替换的字符','替换为的字符') 它只会替换第一个字符串var str = 'andyandy';console.log(str.replace('a', 'b'));//有一个字符串'abcoefoxyozzopp'将里面所以的o替换为*var str1 = 'abcoefoxyozzopp';while (str1.indexOf('o') != -1) {str1 = str1.replace('o', '*');}console.log(str1);//2.字符转换为数组 split('分隔符');jion将数组转换成字符串var str2 = 'red,pink,blue';console.log(str2.split(','));

二、简单类型和复杂类型

简单类型又叫做基本数据类型或者值类型,复杂类型又叫做引用类型。

  • 值类型:简单数据类型/基本数据类型,在存储时变量中存储的就是值本身,因此叫做值类型 string,number,Boolean,undefined,null

简单数据类型null返回的是一个空的对象object,如果有个变量打算存储对象,但是暂时没想好放什么,这个时候就用null

  • 引用类型:复杂数据类型,在存储时变量中存储的仅仅是地址(引用),因此叫做引用数据类型。通过new关键字创建的对象(系统对象、自定义对象),如Object、Array、Date等

简单数据类型存放在栈里面,里面直接开辟一个空间存放的是值。

复杂数据类型存放在堆里面,首先在栈里面存放地址,用十六进制表示,然后这个地址指向堆里面的数据。

注意:JavaScript中没有堆栈的概念。

简单类型传参

函数的形参也可以看做是一个变量,当我们把一个值类型变量作为参数传给函数的形参时,其实是把变量在栈空间里的值复制了一份给形参,那么在方法内部对相残做任何修改,都不会影响到外部变量。

复杂类型传参

函数参数也可以看做是一个变量,我们把引用类型变量传给形参时,其实是把变量在栈空间里保存的堆地址复制给了形参,形参和实参其实保存的是同一个堆地址,所以操作的是同一个对象。


http://chatgpt.dhexx.cn/article/FKR1bhtE.shtml

相关文章

LeetCode 任意子数组和绝对值的最大值(JavaScript)

这道题目,我是通过看题解,然后通过自己思考才写出来的,第一次写博客,如果有不好之处,请谅解。 写这个题目之前,我们先了解一下前缀和,通过下面例子,或许你就明白了什么是前缀和了。…

常用JavaScript控制结构语句,绝对值,累加,阶乘,循环

计算一个数的绝对值 function abs(x) {if (x > 0) {return x;} else {return -x;} } console.log(abs(10) abs(-10)); //>true计算数组元素之和 let arr [1, 3, 5];function sum(array) {let sum 0;for (let x of array) { //循环数组把每个元素赋给xsum x;}return…

02-Node.js基础(一)

目录 一、什么是Node.js二、Node.js在软件架构中的地位三、Node.js 可以做什么(作用)浏览器端的 JavaScriptNode端的JavaScript 四、Node.js APIsWeb端APINode.js端APIWeb端JS与Node端JS对比 五、安装 Node.js第一步:在官网下载 Node.js 安装…

vue取绝对值

先放效果&#xff1a; 代码 <template><el-input v-model"num" placeholder"请输入数字" /><el-button type"primary" click"changeNum">取绝对值</el-button> </template> import { ref } from &quo…

关于JSZIP压缩图片打包下载的一些用法

功能介绍 前端在处理一些批量文件或者图片时候&#xff0c;通过使用异步上传&#xff0c;减少表单一次性提交的的数据量。并将这些图片或者文件根据用户自定义压缩、分类保存到本地。是一个用于压缩文件和解压的JavaScript库。 官网地址 https://stuk.github.io/jszip/docume…

jsZip将多个文件压缩成一个压缩包

在项目开发中&#xff0c;搭档大佬要做一个断点续传的功能&#xff0c;让我帮忙研究一下前端将多个文件压缩成一个压缩包的方法&#xff0c;所以就有了这篇文章。 我的demo是写在vue中的&#xff0c;所以首先要有一个vue环境&#xff0c;才能进行接下来的步骤。那么下面我们就…

前端vue使用jszip压缩文件

一.引入element的上传文件组件 <el-form-item label"文件"><el-uploadclass"upload-demo"dragaction"https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15"multiple:before-upload"beforeUpload"><el-icon …

vue3中使用jszip压缩文件

1、安装依赖 npm install jszip npm install file-saver --save 2、使用 <template><el-card class"mb15"><template #header><span>jszip</span></template><!-- 二维码容器 --><div id"qrCodeBox">&…

docxtemplater、pizzip、jszip-utils、file-saver 前端实现导出word

一、准备工作 1、插件安装&#xff1a; npm i docxtemplater pizzip jszip-utils file-saver -S2、安装完成&#xff1a; 3、导出的模板文件。 我这里是将其命名word-export.docx,并将其放在public/docxs目录下&#xff0c;如图所示&#xff1a; 二、实现代码 页面使用&…

【sduoj】前端JSZip库的使用

2021SCSDUSC 文章目录 JSZIP安装使用引入实例化读取zip文件读取压缩包中的文件遍历压缩包内的所有文件&#xff08;单层&#xff09; 小结 JSZIP JSZip是一个用于创建、读取和编辑.zip文件的javascript库&#xff0c;具有好用而简单的 API。 安装 在sduoj项目中&#xff0c…

zipJS 前端压缩使用

前端在处理文件时&#xff0c;对于大文件或者多个文件上传、下载、编辑&#xff0c;直接使用原文件不方便&#xff0c;最近使用一个可以前端中处理 zip 文件的库&#xff0c;JSzip&#xff0c;主要功能&#xff1a;前端中压缩、解压缩、编辑zip文件。 在 nodeJS 中&#xff0…

一篇文章介绍JSZip预览压缩包中的文件

安装依赖 npm i jszip 前提准备 准备好一个压缩包&#xff0c;格式为zip&#xff0c;存放两张png图片。 代码实现 <template><h1>JSZip,预览压缩包中的文件</h1><img v-for"(n,m) in picArr.arr":src"n":style"{width:200px}&qu…

VUE+jszip实现下载多个文件导出为一个zip格式

项目需求&#xff1a;将多个文件/图片导出为一个zip格式压缩包&#xff0c;点击<下载全部附件>按钮下载上面三个文件 1、安装jszip和file-saver插件 npm install jszip npm install file-saver2、在所需页面引入 import JSZip from "jszip";import FileSaver …

前端js使用jszip实现文件压缩功能

一、jszip下载 1、github下载地址&#xff1a;https://github.com/Stuk/jszip 2、下载成功后解压&#xff0c;js插件在dist目录里 二、引入jszip插件 <script type"text/javascript" src"./jszip.min.js"></script> 三、使用jszip对文件进…

JSZip 的简单介绍

1、前言 前端处理一些批量文件或者图片时候&#xff0c;通过使用异步上传&#xff0c;减少表单一次性提交的的数据量。但是图片或者文件有删除的时候&#xff0c;服务器上真实的图片不容易删除。找了一些资料发些了JSZip这个技术&#xff0c;可以将文件或者图片打包成一个Zip文…

vue前端下载——jszip压缩和解压,结合file-saver导出图片zip,每20个图片分一个目录

使用jszip和file-saver导出图片&#xff0c;并打包为zip&#xff1a; import JSZip from "jszip"; import FileSaver from "file-saver"; 一&#xff0c;jszip解压缩 使用loadAsync&#xff0c;zipFile为压缩包&#xff0c;下面的例子表示读取zip中的resul…

Nginx工作原理和优化总结。

NGINX以高性能的负载均衡器&#xff0c;缓存&#xff0c;和web服务器闻名&#xff0c;驱动了全球超过 40% 最繁忙的网站。在大多数场景下&#xff0c;默认的 NGINX 和 Linux 设置可以很好的工作&#xff0c;但要达到最佳性能&#xff0c;有些时候必须做些调整。首先我们先了解其…

Nginx详细原理

1、Nginx高可用版原理 nginx采用主从架构&#xff0c;客户端发送请求给master&#xff0c;然后由master下发任务到worker实现。 2、nginx任务分配机制(worker工作机制) nginx中master和woker进程之间使用的不是一种轮询的方式而是争抢机制&#xff0c;由于worker不支持java语言…

nginx的工作原理及配置

nginx的工作原理及配置 nginx的模块与工作原理 nginx由内核和模块组成。其中&#xff0c;内核的设计非常微小和简洁&#xff0c;完成的工作也非常简单&#xff0c;仅仅通过查找配置文件将客户端请求映射到一个location block&#xff08;location是nginx配置中的一个指令&…

服务器 启动多个nginx_Nginx工作原理和优化总结

NGINX以高性能的负载均衡器,缓存,和web服务器闻名,驱动了全球超过 40% 最繁忙的网站。 在大多数场景下,默认的 NGINX 和 Linux 设置可以很好的工作,但要达到最佳性能,有些时候必须做些调整。首先我们先了解其工作原理。 一、Nginx的模块与工作原理 Nginx由内核和模块组成…