Js基础31:内置对象 js26个内置对象
bigegpt 2024-10-19 02:51 4 浏览
js里面的对象分成三大类:
- 内置对象
- Array Date Math
- 宿主对象
- 浏览器提供的对象(如bom、dom等等)
- 自定义对象
- 开发人员自己定义的对象
内置对象 ——
所谓内置对象,就是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编译器和调试器。一、前置条件本文默认前置条件是,您的开发设备已...
- 一周热门
- 最近发表
- 标签列表
-
- mybatiscollection (79)
- mqtt服务器 (88)
- keyerror (78)
- c#map (65)
- resize函数 (64)
- xftp6 (83)
- bt搜索 (75)
- c#var (76)
- mybatis大于等于 (64)
- xcode-select (66)
- httperror403.14-forbidden (63)
- logstashinput (65)
- hadoop端口 (65)
- dockernetworkconnect (63)
- esxi7 (63)
- vue阻止冒泡 (67)
- c#for循环 (63)
- oracle时间戳转换日期 (64)
- jquery跨域 (68)
- php写入文件 (73)
- java大写转小写 (63)
- kafkatools (66)
- mysql导出数据库 (66)
- jquery鼠标移入移出 (71)
- 取小数点后两位的函数 (73)