百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

Js基础31:内置对象 js26个内置对象

bigegpt 2024-10-19 02:51 4 浏览

js里面的对象分成三大类:

  1. 内置对象
  2. Array Date Math
  3. 宿主对象
  4. 浏览器提供的对象(如bom、dom等等)
  5. 自定义对象
  6. 开发人员自己定义的对象

内置对象 ——

所谓内置对象,就是JavaScript自带的一些功能对象,里面提供了很多常用、实用的属性和方法,我们需要做的就是学习这些属性和方法怎么使用,在需要用的时候直接用就行

1.1、Math

数学对象 - 用于进行一些和数学相关的运算(计算)的

1、Math.random() 生成一个 [0,1) 之间的随机浮点数

 var r = Math.random();
 console.log(r);// 每次执行等到的数字都一样

2、Math.floor(x) 浮点数进行向下取整

 console.log(Math.floor(3.1));  // 3
 console.log(Math.floor(3.9));  // 3
 console.log(Math.floor(-3.1)); // -4
 console.log(Math.floor(-3.9)); // -4

向下取整就是从这个数字开始,朝数轴的左边找到一个离它最近的整数

3、Math.round(x) 浮点数四舍五入取整

 console.log(Math.floor(3.1));  // 3
 console.log(Math.floor(3.9));  // 4
 console.log(Math.floor(-3.1)); // -3
 console.log(Math.floor(-3.9)); // -4

4、Math.ceil(x) 浮点数进行向上取整

 console.log(Math.floor(3.1));  // 4
 console.log(Math.floor(3.9));  // 4
 console.log(Math.floor(-3.1)); // -3
 console.log(Math.floor(-3.9)); // -3

向上取整就是从这个数字开始,朝数轴的左边找到一个离它最近的整数

5、Math.abs(x) 求一个数的绝对值

 console.log(Math.abs(3));  // 3
 console.log(Math.abs(-3)); // 3

6、Math.max(x,y...) 求多个数字中的最大值

 console.log(Math.max(10,20));  // 20
 console.log(Math.max(8,4,5,7,3)); // 8

这个方法的参数个数是不限定的,想写几个就写几个

7、Math.min(x,y...) 求多个数字中的最小值

 console.log(Math.max(10,20));  // 10
 console.log(Math.max(8,4,5,7,3)); // 3

这个方法的参数个数是不限定的,想写几个就写几个

练习:

求[10,100]之间的随机整数

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

1.2、Array对象

1、push()从数组最后增加成员

 var aList = [1,2,3,4];
 var res = aList.push(5);
 console.log(res);     //5             返回添加元素后,数组的长度
 console.log(aList);   //[1,2,3,4,5]   原数组。改变

2、pop()从数组最后删除成员

 var aList = [1,2,3,4];
 var res = aList.pop();
 console.log(res);    //4           返回被删除的元素
 console.log(aList);   //[1,2,3]     原数组。改变

3、unshift()从数组前面增加成员

 var aList = [1,2,3,4];
 var res = aList.unshift(5);
 console.log(res);     //5             返回添加元素后,数组的长度
 console.log(aList);   //[5,1,2,3,4]   原数组。改变

4、shift()从数组前面删除成员

 var aList = [1,2,3,4];
 var res = aList.shift();
 console.log(res);    //1           返回删除的元素
 console.log(aList);   //[2,3,4]     原数组。改变

5、reverse() 将数组反转

 var aList = [1,2,3,4];
 var res = aList.reverse();
 console.log(res);    //[4,3,2,1]     返回翻转后的数组
 console.log(aList);   //[4,3,2,1]     原数组。改变

6、splice(index,多少,项1,项2...) : 返回删除的项目删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个项,来替换那些被删除的元素(如果没有,则不替换)

 var aList = [1, 2, 3, 4];
 var res = aList.splice(2, 1,'a','b');
 console.log(res);       //[3]               返回切割掉的元素
 console.log(aList);     //[1,2,'a','b',4]   原数组。改变

以下的方法不会改变原数组

7、slice(start,end): 返回切割项目选取从数组 start位置 到数组的 end位置(不包含end位置) 所有元素,如果没有end,选取从 start 到数组结尾的所有元素

 var aList = [1,2,3,4];
 var res = aList.slice(0,2);
 console.log(res);    //[1,2]           返回切割掉的元素
 console.log(aList);  //[1,2,3,4]       原数组。不变

8、indexOf() 返回数组中元素第一次出现的索引值

 var aList = [3,2,"a",1,2,3,"a"];
 var res = aList.indexOf("a");
 console.log(res);    //2
 
 var res2 = aList.indexOf("a",3);
 console.log(res2)

9、join() 将数组成员通过一个分隔符合并成字符串

 var aList = [1,2,3,4];
 var res = aList.join('-');
 console.log(res);     //1-2-3-4     返回合并后的字符串
 console.log(aList);   //[1,2,3,4]   原数组。不变

10、forEach 遍历数据的方法

 // 作用:遍历数组
 arr.forEach(function(item,index){
   item 是数组里面的每个元素
   index 是数组的每个索引
 })

11、filter 数组筛选之后返回新数组

 // 作用:把数组中满足条件的元素,放到一个新的数组里面
 var result = arr.filter(function(item,index){
   return 条件
     // item就是当前遍历到的这个元素, index是这个元素索引
      return item > 20
 });

12、map 数据处理之后返回新数组

 var newArr = arr.map(function(item,index){
     item+=3;
     return item;
 })

1.3、String内置对象

1、字符串合并操作:“ + ”

 var num1 = 123;
 var str2 = 'def';
 console.log(str1+str2) // 123def

2、split() 把一个字符串按某种方式分隔成字符串组成的数组

 var str2 = 'a-b-c';
 var arr2 = str4.split('-');
 console.log(arr4) // ['a','b','c']

3、charAt() 获取字符串中的某一个字符

 var str3 = 'hello word'
 var res = str3.charAt(2)
 console.log(res)//l

4、indexOf() 查找字符串是否含有某字符(和数组一样的使用方式)

5、substring() 截取字符串 用法:substring(start,end)(不包括end)截取从star开始,到end之间的字符串

如果只传一个值,表示从这个位置开始,一致截取到字符串末端

 注意:  substring是以两个参数中较小一个作为起始位置,较大的参数作为结束位置
 var test = 'hello world';
 alert(test.substring(7,4)); //o w
 
 注意: 如果substring里面碰到负数,则干脆将负参数都直接转换为0
 var test = 'hello world'
 alert(test.substring(-3));     //hello world
 alert(test.slice(3,-4));       //lo w

6、substr(index,n) : 从index索引位置开始截取,截取n个字符

如果只传一个值,表示从这个位置开始,一致截取到字符串末端

7、toUpperCase() 字符串转大写8、toLowerCase() 字符串转小写9、replace(旧字符, 新字符) 该方法会返回一个新字符串,原字符串不改变

 var str9 = 'hello word'
 var res = str.replace('word','hhhhhhhh')
 console.log(res)// hello hhhhhhhh

1.4、Date内置对象

 var date = new Date();
 // 获取年份
 var year = date.getFullYear();
 console.log(year);
 // 获取月份 , 得到的月份是从0开始的 ,使用 0-11 表示 1-12 月
 var month = date.getMonth()+1;
 console.log(month);
 // 获取天 几号
 var day = date.getDate();
 console.log(day);
 // 获取星期数
 var d = date.getDay();
 // 获取小时
 var h = date.getHours();
 console.log(h);
 // 获取分钟
 var m = date.getMinutes();
 console.log(m);
 // 获取秒数
 var s = date.getSeconds();
 console.log(s);
 
 // 获取毫秒
 var ms = date.getMilliseconds();
 // 返回事件戳。1970年1月1日 0时0分0秒到现在的毫秒值
 // 最初计算机操作系统是 32 位,而时间也是用 32 位表示。
 // 最长时间是 68 年
 // 最早出现的 UNIX 操作系统考虑到计算机产生的年代和应用的时限
 // 综合取了 1970 年 1 月 1 日作为 UNIX TIME 的纪元时间
 var dateTime = date.getTime();
 
 // 把需要补0的先补上
 if (month < 10) {
     month = '0' + month;
 }
 if (day < 10) {
     day = '0' + day;
 }
 if (h < 10) {
     h = '0' + h;
 }
 if (m < 10) {
     m = '0' + m
 }
 if (s < 10) {
     s = '0' + s;
 }
 
 console.log("现在是: " + year + "-" + month + "-" + day + " " + h + ":" + m + ":" + s + ",星期" + d);

也可以生成一个指定的日期

 1.传入不同的年月日时分秒
 var d1 = new Date(2020,0,1,8,30,59); // 2020年1月1日 8:30:59
 
 2.传入一个指定的字符串
 var d2 = new Date('2020-01-01');
 
 3.传入一个 大的数字 -- 从1970年1月1日开始到某个日期的总共的毫秒数
 var d3 = new Date(1378594320999);

相关推荐

得物可观测平台架构升级:基于GreptimeDB的全新监控体系实践

一、摘要在前端可观测分析场景中,需要实时观测并处理多地、多环境的运行情况,以保障Web应用和移动端的可用性与性能。传统方案往往依赖代理Agent→消息队列→流计算引擎→OLAP存储...

warm-flow新春版:网关直连和流程图重构

本期主要解决了网关直连和流程图重构,可以自此之后可支持各种复杂的网关混合、多网关直连使用。-新增Ruoyi-Vue-Plus优秀开源集成案例更新日志[feat]导入、导出和保存等新增json格式支持...

扣子空间体验报告

在数字化时代,智能工具的应用正不断拓展到我们工作和生活的各个角落。从任务规划到项目执行,再到任务管理,作者深入探讨了这款工具在不同场景下的表现和潜力。通过具体的应用实例,文章展示了扣子空间如何帮助用户...

spider-flow:开源的可视化方式定义爬虫方案

spider-flow简介spider-flow是一个爬虫平台,以可视化推拽方式定义爬取流程,无需代码即可实现一个爬虫服务。spider-flow特性支持css选择器、正则提取支持JSON/XML格式...

solon-flow 你好世界!

solon-flow是一个基础级的流处理引擎(可用于业务规则、决策处理、计算编排、流程审批等......)。提供有“开放式”驱动定制支持,像jdbc有mysql或pgsql等驱动,可...

新一代开源爬虫平台:SpiderFlow

SpiderFlow:新一代爬虫平台,以图形化方式定义爬虫流程,不写代码即可完成爬虫。-精选真开源,释放新价值。概览Spider-Flow是一个开源的、面向所有用户的Web端爬虫构建平台,它使用Ja...

通过 SQL 训练机器学习模型的引擎

关注薪资待遇的同学应该知道,机器学习相关的岗位工资普遍偏高啊。同时随着各种通用机器学习框架的出现,机器学习的门槛也在逐渐降低,训练一个简单的机器学习模型变得不那么难。但是不得不承认对于一些数据相关的工...

鼠须管输入法rime for Mac

鼠须管输入法forMac是一款十分新颖的跨平台输入法软件,全名是中州韵输入法引擎,鼠须管输入法mac版不仅仅是一个输入法,而是一个输入法算法框架。Rime的基础架构十分精良,一套算法支持了拼音、...

Go语言 1.20 版本正式发布:新版详细介绍

Go1.20简介最新的Go版本1.20在Go1.19发布六个月后发布。它的大部分更改都在工具链、运行时和库的实现中。一如既往,该版本保持了Go1的兼容性承诺。我们期望几乎所...

iOS 10平台SpriteKit新特性之Tile Maps(上)

简介苹果公司在WWDC2016大会上向人们展示了一大批新的好东西。其中之一就是SpriteKitTileEditor。这款工具易于上手,而且看起来速度特别快。在本教程中,你将了解关于TileE...

程序员简历例句—范例Java、Python、C++模板

个人简介通用简介:有良好的代码风格,通过添加注释提高代码可读性,注重代码质量,研读过XXX,XXX等多个开源项目源码从而学习增强代码的健壮性与扩展性。具备良好的代码编程习惯及文档编写能力,参与多个高...

Telerik UI for iOS Q3 2015正式发布

近日,TelerikUIforiOS正式发布了Q32015。新版本新增对XCode7、Swift2.0和iOS9的支持,同时还新增了对数轴、不连续的日期时间轴等;改进TKDataPoin...

ios使用ijkplayer+nginx进行视频直播

上两节,我们讲到使用nginx和ngixn的rtmp模块搭建直播的服务器,接着我们讲解了在Android使用ijkplayer来作为我们的视频直播播放器,整个过程中,需要注意的就是ijlplayer编...

IOS技术分享|iOS快速生成开发文档(一)

前言对于开发人员而言,文档的作用不言而喻。文档不仅可以提高软件开发效率,还能便于以后的软件开发、使用和维护。本文主要讲述Objective-C快速生成开发文档工具appledoc。简介apple...

macOS下配置VS Code C++开发环境

本文介绍在苹果macOS操作系统下,配置VisualStudioCode的C/C++开发环境的过程,本环境使用Clang/LLVM编译器和调试器。一、前置条件本文默认前置条件是,您的开发设备已...