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

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

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

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);

相关推荐

当Frida来“敲”门(frida是什么)

0x1渗透测试瓶颈目前,碰到越来越多的大客户都会将核心资产业务集中在统一的APP上,或者对自己比较重要的APP,如自己的主业务,办公APP进行加壳,流量加密,投入了很多精力在移动端的防护上。而现在挖...

服务端性能测试实战3-性能测试脚本开发

前言在前面的两篇文章中,我们分别介绍了性能测试的理论知识以及性能测试计划制定,本篇文章将重点介绍性能测试脚本开发。脚本开发将分为两个阶段:阶段一:了解各个接口的入参、出参,使用Python代码模拟前端...

Springboot整合Apache Ftpserver拓展功能及业务讲解(三)

今日分享每天分享技术实战干货,技术在于积累和收藏,希望可以帮助到您,同时也希望获得您的支持和关注。架构开源地址:https://gitee.com/msxyspringboot整合Ftpserver参...

Linux和Windows下:Python Crypto模块安装方式区别

一、Linux环境下:fromCrypto.SignatureimportPKCS1_v1_5如果导包报错:ImportError:Nomodulenamed'Crypt...

Python 3 加密简介(python des加密解密)

Python3的标准库中是没多少用来解决加密的,不过却有用于处理哈希的库。在这里我们会对其进行一个简单的介绍,但重点会放在两个第三方的软件包:PyCrypto和cryptography上,我...

怎样从零开始编译一个魔兽世界开源服务端Windows

第二章:编译和安装我是艾西,上期我们讲述到编译一个魔兽世界开源服务端环境准备,那么今天跟大家聊聊怎么编译和安装我们直接进入正题(上一章没有看到的小伙伴可以点我主页查看)编译服务端:在D盘新建一个文件夹...

附1-Conda部署安装及基本使用(conda安装教程)

Windows环境安装安装介质下载下载地址:https://www.anaconda.com/products/individual安装Anaconda安装时,选择自定义安装,选择自定义安装路径:配置...

如何配置全世界最小的 MySQL 服务器

配置全世界最小的MySQL服务器——如何在一块IntelEdison为控制板上安装一个MySQL服务器。介绍在我最近的一篇博文中,物联网,消息以及MySQL,我展示了如果Partic...

如何使用Github Action来自动化编译PolarDB-PG数据库

随着PolarDB在国产数据库领域荣膺桂冠并持续获得广泛认可,越来越多的学生和技术爱好者开始关注并涉足这款由阿里巴巴集团倾力打造且性能卓越的关系型云原生数据库。有很多同学想要上手尝试,却卡在了编译数据...

面向NDK开发者的Android 7.0变更(ndk android.mk)

订阅Google官方微信公众号:谷歌开发者。与谷歌一起创造未来!受Android平台其他改进的影响,为了方便加载本机代码,AndroidM和N中的动态链接器对编写整洁且跨平台兼容的本机...

信创改造--人大金仓(Kingbase)数据库安装、备份恢复的问题纪要

问题一:在安装KingbaseES时,安装用户对于安装路径需有“读”、“写”、“执行”的权限。在Linux系统中,需要以非root用户执行安装程序,且该用户要有标准的home目录,您可...

OpenSSH 安全漏洞,修补操作一手掌握

1.漏洞概述近日,国家信息安全漏洞库(CNNVD)收到关于OpenSSH安全漏洞(CNNVD-202407-017、CVE-2024-6387)情况的报送。攻击者可以利用该漏洞在无需认证的情况下,通...

Linux:lsof命令详解(linux lsof命令详解)

介绍欢迎来到这篇博客。在这篇博客中,我们将学习Unix/Linux系统上的lsof命令行工具。命令行工具是您使用CLI(命令行界面)而不是GUI(图形用户界面)运行的程序或工具。lsoflsof代表&...

幻隐说固态第一期:固态硬盘接口类别

前排声明所有信息来源于网络收集,如有错误请评论区指出更正。废话不多说,目前固态硬盘接口按速度由慢到快分有这几类:SATA、mSATA、SATAExpress、PCI-E、m.2、u.2。下面我们来...

新品轰炸 影驰SSD多款产品登Computex

分享泡泡网SSD固态硬盘频道6月6日台北电脑展作为全球第二、亚洲最大的3C/IT产业链专业展,吸引了众多IT厂商和全球各地媒体的热烈关注,全球存储新势力—影驰,也积极参与其中,为广大玩家朋友带来了...