JavaScript 内置对象 数据类型

news2024/12/27 1:05:00

目录

JavaScript 内置对象

1.内置对象

2.查文档

2.1MDN

2.2 如何学习对象中的方法

3.Math对象

3.1Math 概述

 3.2随机数方法 random() 

4. 日期对象

4.1Date 概述

4.2Date() 方法的使用

4.3 日期格式化

4.4获取毫秒的总的毫秒形式

5.数组对象

5.1数组对象的创建

5.2检测是否为数组

5.3添加删除数组元素的方法

 5.4数组排序

5.5数组索引方法

5.6数组转换为字符串

6.字符串对象

6.1基本包装类型

6.2字符串的不可变

6.3根据字符返回位置

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

6.5字符串操作方法(重点)

·        数据类型

1.简单数据类型与复杂数据类型

2.堆和栈


JavaScript 内置对象

1.内置对象

  • JavaScript 中的对象分为三种:自定义对象,内置对象,浏览器对象
  • 前面两种对象时js基础,属于ECMAScript: 第三个浏览器对象属于我们JS独有的
  • 内置对象就是指JS语言自带的一些对象,这些对象提供开发者使用,并提供了一些常用的或是最基础而必要的功能(属性和方法) 

2.查文档

2.1MDN

Mozilla开发者网络(MDN)提供了相关开放网络技术(open web) 的信息,包括HTML CSS 和万维网及HTML5的应用的API

https://developer.mozilla.org/zh-CN/

2.2 如何学习对象中的方法

  1. 查阅该方法的功能
  2. 查看里面的参数的意义和类型
  3. 查看返回值的类型
  4. 通过demo 进行测试

3.Math对象

3.1Math 概述

Math 对象不是构造函数,它具有数字常数和函数的属性和方法。跟数学相关的运算(求绝对值,取整,最大值等)可以使用 Math 中的成员。

Math.PI   //圆周率

Math.floor()   // 向下取整

Math.ceil()  // 向上取整

Math.round() // 四舍五入  就近取整  注意 -3.5  结果是 -3

Math.abs()  // 绝对值

Math.max()  Math.min()  //求最大值和最小值 

 3.2随机数方法 random() 

  1.Match 对象随机数放啊 random() 返回一个随机小数  0 <= x < 1

   2.这个方法里面不带参数

        console.log(Math.random());

       我们想要得到两个数之间的随机整数 并且 包含这两个数

        Math.floor(Math.random()*(max - min + 1)) + min;     

   function getRandom(min,max) {

            return Math.floor(Math.random() * (max - min + 1)) + min;

        }

        console.log(getRandom(1,10));

4. 日期对象

4.1Date 概述

  • Date 对象和 Math 对象不一样,他是一个特殊的构造函数,所以我们需要实例化后才能使用
  • Date 实例用来处理日期和时间 

4.2Date() 方法的使用

1.获取当前时间必须实例化

var now = new Date();

console.log(now);

2.Date() 构造函数的参数

如果括号里面有时间,就返回参数里面的时间。例如日期格式字符串为 ‘2023-5-1’,可以写成 new Date(‘2023-5-1’)或者 new Date('2019/5/1')

4.3 日期格式化

4.4获取毫秒的总的毫秒形式

Date对象是基于1970年1月1日(世界标准时间)起的毫秒数。

获取Dtae总的毫秒数  不是当前时间的毫秒数  而是距离1970年1月1日过了多少毫秒

1.通过valueOf()  getTime() 可以得到

        var date = new Date();

        console.log(date.valueOf());

        console.log(date.getTime());

2.简单的写法   最常用的写法

        var date1 = +new Date();  // +new Date()  返回的就是总的毫秒数

        console.log(date1);

3.H5 新增的 获得总的毫秒数

        console.log(Date.now()); 

5.数组对象

5.1数组对象的创建

  • 字面创建
  • new Array() 

5.2检测是否为数组

 1.instanceof 运算符  可以用来检测是否为数组

2.Array.isArray(arr);  H5新增的方法  ie9以上版本支持

5.3添加删除数组元素的方法

 5.4数组排序

方法名说明是否修改原来的数组
reverse()颠倒数组中元素的顺序,无参数该方法会改变原来的数组,返回新数组
sort()对数组的元素进行排序该方法会改变原来的数组 返回新数组

5.5数组索引方法

方法名说明返回值
indexOf()数组中查找给定元素的第一个索引如果存在返回索引号,如果不存在,则返回-1
lastIndexOf()在数组中的最后一个的索引如果存在返回索引号,如果不存在,则返回-1

5.6数组转换为字符串

方法名说明返回值
toString()把数组转换成字符串,逗号分割每一项返回一个字符
join('分隔符')方法用于把数组中的所有元素转换为一个字符串返回一个字符串
concat()连接两个或多个数组   不影响原数组返回一个新数组
slice()数组截取slice(begin,end)返回被截取项目的新数组
splice()数组删除splice(第几个开始,要删除个数())返回被删除项目的新数组 注意,这个会影响原数组

6.字符串对象

6.1基本包装类型

为了方便操作基本数据类型,JavaScript还提供了三个特殊的引用类型:String,Number和Boolean.

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

6.2字符串的不可变

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

6.3根据字符返回位置

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

方法名说明
indexOf('要查找的字符',开始的位置)返回指定内容在原字符串的位置,如果找不到就返回-1,开始的位置是index索引号
lastIndexOf()从后往前找,只找第一个匹配的

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

方法名说明使用
charAt(index)返回指定位置的字符(index 字符串的索引号)str.charAt(0)
charCodeAt(index)获取指定位置处理字符的ASSII码(index索引号)str.charCodeAt(0)
str[index]获取指定位置处字符HTML5,IE8 + 支持和 charAt() 等效

6.5字符串操作方法(重点)

方法名说明
concat(str1,str2,str3...)concat() 方法用于连接连两个或多个字符串。拼接字符串,等效于 +, +更常用
substr(start,length)从start位置开始(索引号)length 取的个数
slice(start,end)从start位置开始,截取到end 位置,end取不到(他们两都是索引号)
substring(start,end)从start位置开始,截取到end位置,end取不到 基本和slice 相同但是接受负值

·        数据类型

1.简单数据类型与复杂数据类型

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

  • 值类型:简单数据类型/基本数据类型,在存储时变量中存储的是值本身,因此叫做值类型。string number boolean underfined null
  • 引用类型:复杂数据类型,在存储时变量中存储的仅仅时地址(引用),因此叫做引用数据类型通过new 关键字创建的对象(系统对象,自定义对象),如 Object,Array,Date等。

2.堆和栈

堆空间分配区别:

1.栈(操作系统):由操作系统自动分配释放的参数值,局部变量的值等。其操作方式类似于数据结构中的栈;

简单数据类型存放到栈里面

2.堆(操作系统):存储复杂类型(对象)一般由程序员分配释放,若程序员不释放,由垃圾回收机制回收。

复杂数据类型存储在堆里面。 

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

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

相关文章

1. Netty核心功能与线程模型详解

Netty 1. 认识Netty2. 第一个Netty程序 本文是按照自己的理解进行笔记总结&#xff0c;如有不正确的地方&#xff0c;还望大佬多多指点纠正&#xff0c;勿喷。 课程内容&#xff1a; 01、Netty核心组件快速了解 02、Hello,Netty! 03、深入理解Channel、EventLoop(Group) 04、深…

MySql的使用

目录 一、安装与启动1.1 Ubuntu下的使用1.2 Mac下的使用 二、MySQL图形化管理工具的使用三、数据完整性3.1 数据类型3.2 约束 四、常用的sql语句4.1 数据库操作4.2 数据库表操作1.查看当前数据库中所有表2.查看建表的数据结构3.创建表4.添加字段5.修改字段6. 删除字段7. 查看表…

nodejs之net模块的使用

vscode的底层ipc通讯都是基于node的net模块进行封装&#xff0c;今天大概讲解下net模块的使用 官方文档地址&#xff1a;https://nodejs.cn/api/net.html net模块的作用 net模块提供了基于流的方式构建tcp或ipc服务器和客户端的能力。 node:net 模块提供异步网络 API&#x…

ChatGPT发展与技术基础

一、ChatGPT发展 【ChatGPT——GPT3.5】 诞生于&#xff1a;2022 年 11 月 类型&#xff1a;对话场景的大语言模型 特点&#xff1a;更贴近人的方式与使用者互动&#xff1b;在理解人类意图、精准回答问题、流畅生成结果方面远超人类预期。 功能&#xff1a;可以回答问题、…

bug--两个表格,数据来自于同一个抽屉表格,现在让两个表格的数据 不能一样--处理checked 和 disabled

步骤一、拿到表格数据 步骤二、处理 checked&#xff0c;要区分是A表 还是B表&#xff0c;这个区分要在 A表、B表 数据展示的组件里&#xff08;根源&#xff09;区分 &#xff1a; 点击A表&#xff0c;抽屉表格中A 已选的状态 是 checked 且 disabled&#xff0c;B 已选的 抽…

HCIA复习一

OSI七层模型 7.应用层&#xff1a; 用于人机交互&#xff0c;将抽象语言转化为编码&#xff1b; 6.表示层&#xff1a; 将编码转换为二进制&#xff1b;&#xff08;加解密&#xff0c;压缩解压缩&#xff09; 5.会话层&#xff1a; 管理通信双方的会话&#xff0c;细分为…

数模笔记6.30

目录 一、基础 建模步骤&#xff1a; 论文格式&#xff1a; 写作过程&#xff1a; 赛题类型&#xff1a; 二、优化类模型 2.1简单的优化模型 2.2数学规划模型 三、Lingo 一、基础 建模步骤&#xff1a; 找目标 找条件&#xff08;变量、常量、自己的假设&#xff09…

Tomcat的优化多实例部署

一.tomcat核心组件模块 1.web容器&#xff1a;接受.响应请求 2.展示动态页面 2..JSP容器&#xff1a;翻译java---》servlet 3.serverlet容器&#xff1a;serverlet代码格式是用于JSP容器处理 简述&#xff1a; web容器 &#xff1a;1.接受、响应请求 2.展示动态页面 JSP容…

python之 flask 框架

创建安装虚拟环境 两种方法 第二种 # 先打开cmd 中断 # 查看virtual是否安装过 pip show virtualenv # 安装 pip install virtualenvwrapper-win # workon 查看虚拟环境 vorkon # 切换虚拟环境 # workon 虚拟环境 # mkvirtualenv 创建新的虚拟环境 mkvirtualenv falsk2…

MySQL 字符集与比较规则

字符集与比较规则 一. 字符集相关操作1. 查看字符集1.1 查看数据库当前字符集配置1.2 查看某数据库/数据表字符集 2. 修改字符集2.1 全局修改字符集2.2 修改已有库表字符集 3. 字符集级别二. 比较规则1. 后缀表示含义2. 查看指定数据集比较规则3. 查看/修改数据库/表比较规则 一…

计算机视觉:窥探数字世界的眼睛

目录 简介&#xff1a; 一. 计算机视觉的起源与发展 二. 计算机视觉的应用领域 三. 计算机视觉的挑战与未来发展 结论&#xff1a; 简介&#xff1a; 计算机视觉&#xff08;Computer Vision&#xff09;是人工智能&#xff08;AI&#xff09;领域中的一个重要分支&#…

同一VLAN不同交换机之间的数据转发

实验环境&#xff1a; 思科模拟器&#xff0c;Cisco Packet Tracer 实验拓扑&#xff1a; 配置步骤&#xff1a; &#xff08;1&#xff09;配置四台PC的IP地址 双击PC选择Desktop&#xff0c;然后选择IP Configuration配置ip &#xff08;2&#xff09;配置交换机 双击交换…

登录校验-interceptor/拦截器

Interceptor 概念&#xff1a;拦截前端对后端的某些请求 使用步骤 自定义拦截器类&#xff0c;实现HandlerInterceptor接口&#xff0c;重写所有的方法&#xff08;preHandle方法在controller执行之前执行、【postHandle、afterCompletion】在controller执行后执行&#xff0…

基于java,springboot的零食零售系统设计与实现

背景 本系统实现管理员&#xff1a;首页、个人中心、用户管理、零食分类管理、零食信息管理、订单评价管理、系统管理、订单管理&#xff0c;用户&#xff1b;首页、个人中心、订单评价管理、我的收藏管理、订单管理&#xff0c;前台首页&#xff1b;首页、零食信息、零食资讯…

Vue工程创建及应用

&#x1f648;作者简介&#xff1a;练习时长两年半的Java up主 &#x1f649;个人主页&#xff1a;程序员老茶 &#x1f64a; ps:点赞&#x1f44d;是免费的&#xff0c;却可以让写博客的作者开兴好久好久&#x1f60e; &#x1f4da;系列专栏&#xff1a;Java全栈&#xff0c;…

Python Pandas之loc、iloc

df.loc 通过标签索引获取数据 df.iloc 通过位置索引获取数据

Airtest:Windows桌面应用自动化测试二【Airtest基于图像识别自动控制手机App流程】

Airtest基于图像识别自动控制手机App流程 一、Airtest基于图像识别自动控制手机App流程二、基于图像识别生成脚本有两种操作&#xff1a;三、Airtest基于Poco的UI组件自动化控制App流程四、Airtest实现手机群控操作 Airtest介绍与脚本入门 Airtest相关api操作 一、Airtest基于…

暑期学JavaScript【第三天】

事件流 很多时候&#xff0c;一个事件可能会被多个元素监听。那么这些元素应该按什么顺序响应呢&#xff1f;从父到子称为捕获&#xff0c;从子到父称为冒泡。 事件捕获 可选参数&#xff0c;true or fause&#xff0c;带true代表按捕获方式响应 obj.addEventListener(cli…

短视频seo源码部署打包分享---开源

功能概要&#xff1a; 1. 按关键词搜索账号排名 2. 按关键词布局查询视频排名 3. 按天计费功能开发 4. 达标天数及关键词数量统计 开发概要&#xff1a; 区别于其他开发者&#xff0c;同类产品多用第三方&#xff0c;如&#xff1a;站长之家&#xff0c;本系统代码开发使…

| 从头打造个人网站(超详细)

哈喽🤗,这篇博客从0开始教大家创建自己的网站,包含个人网站,商用网站等,并且提供模板类型,提供修改模块样本~ 看完本博客你将会收获: 一个想要的类型网站学习React解答过程中遇到的问题最终效果 那就开始吧👩‍💻👨‍💻 ********************************…