js内置对象的常用属性和方法(Array | String | Date | Math)
js内置对象:Array String Math Date
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>Document</title>
- </head>
- <body>
- <script>
- // 1、构造函数方法创建数组
- var arr=new Array();
- console.log(arr);//[]
- var arr2=new Array(3);//指定数组个数
- console.log(arr2);//(3) [empty × 3]
- var arr3=new Array(1,2,3);//指定数组元素
- console.log(arr3);//(3) [1, 2, 3]
- // 2、字面量表示法创建数组
- var arr4=[1,2,3,4];
- console.log(arr4);//(4) [1, 2, 3, 4]
- </script>
- </body>
- </html>
读取和设置数组元素
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>Document</title>
- </head>
- <body>
- <script>
- var arr4=[1,2,3,4];
- console.log(arr4[0]);//1
- arr4[0]=0;
- console.log(arr4);//(4) [0, 2, 3, 4]
- </script>
- </body>
- </html>
数组长度=数组最大索引值+1
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>Document</title>
- </head>
- <body>
- <script>
- var arr4=[1,2,3,4];
- console.log(arr4.length);//4 获取数组长度
- arr4.length=3;
- console.log(arr4);//(3) [1, 2, 3]
- arr4[9]=9;
- console.log(arr4);//(10) [1, 2, 3, empty × 6, 9]
- console.log(arr4.length);//10 数组长度永远=最大索引值+1
- // 遍历数组
- var len=arr4.length;
- for(var i=0;i<len;i++){
- console.log(arr4[i]);
- }
- </script>
- </body>
- </html>
数组的栈方法:
push() 从数组最后添加元素,返回数组的新长度
unshift() 从数组的开头添加元素,返回数组的新长度
pop() 删除数组的最后一个元素,返回被删除的那个元素
shift() 删除数组的第一个元素,返回被删除的那个元素
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>Document</title>
- </head>
- <body>
- <script>
- var arr=[1,2,3,4];
- var len=arr.push(5,6);
- console.log(len);//6
- console.log(arr);//(6) [1, 2, 3, 4, 5, 6]
- var arr1=[1,2,3,4];
- var len1=arr1.unshift(-1,0);
- console.log(len1);//6
- console.log(arr1);//(6) [-1, 0, 1, 2, 3, 4]
- var arr2=[1,2,3,4];
- var n2=arr2.pop();
- console.log(n2);//4
- console.log(arr2);//(3) [1, 2, 3]
- var arr3=[1,2,3,4];
- var n3=arr3.shift();
- console.log(n3);//1
- console.log(arr3);//(3) [2, 3, 4]
- </script>
- </body>
- </html>
数组方法:
join() 数组转字符串
默认分隔符是逗号,可以自定义
reverse() 翻转数组中的元素顺序
sort() 数组排序,默认隐式转换为字符串,然后进行排序
可以自定义参数,用来进行数值的排序
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>Document</title>
- </head>
- <body>
- <script>
- var arr=[1,2,3,4];
- var str=arr.join();
- console.log(str);// 字符串 1,2,3,4
- var arr2=[1,2,3,4];
- var str2=arr2.join('');
- console.log(str2);// 字符串 1234
- var arr3=[1,2,3,4];
- var str3=arr3.join('-');
- console.log(str3);// 字符串 1-2-3-4
- var arr4=[1,2,3,4];
- var arr4=arr4.reverse();
- console.log(arr4);// (4) [4, 3, 2, 1]
- var arr5=[1,24,3,42];
- var arr5=arr5.sort();
- console.log(arr5);// (4) [1, 24, 3, 42]
- var arr6=[1,24,3,42];
- var arr6=arr6.sort(function(a,b){return a-b;});
- console.log(arr6);// (4) [1, 3, 24, 42]
- var arr7=[1,24,3,42];
- var arr7=arr7.sort(function(a,b){return b-a;});
- console.log(arr7);// (4) [42, 24, 3, 1]
- </script>
- </body>
- </html>
concat() 数组合并
slice(start, end) 数组截取,包含start不包含end
slice(start) 默认从start位置截取到最后
如果start或者end为负数,则等价于 该负数+数组长度
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>Document</title>
- </head>
- <body>
- <script>
- var arr1=[1,2,3];
- var arr2=[4,5,6];
- var newArr=arr1.concat(arr2);
- console.log(newArr);//(6) [1, 2, 3, 4, 5, 6]
- var arr=[0,1,2,3,4,5];
- var slice1=arr.slice(2);
- console.log(slice1);//(4) [2, 3, 4, 5]
- var slice2=arr.slice(2,5);
- console.log(slice2);//(3) [2, 3, 4]
- var slice3=arr.slice(-5);
- console.log(slice3);//(5) [1, 2, 3, 4, 5]
- var slice4=arr.slice(-5,5);
- console.log(slice4);//等价于(1,5) (4) [1, 2, 3, 4]
- </script>
- </body>
- </html>
数组的拷贝,方法越多越好
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>Document</title>
- </head>
- <body>
- <script>
- //数组拷贝,方法越多越好
- var a=[1,2,3,4];
- var b;
- b=a;
- console.log(b);
- b=a.concat([]);
- console.log(b);
- b=a.slice(0);
- console.log(b);
- b=[];
- for(var i=0;i<a.length;i++){
- b.push(a[i]);
- }
- console.log(b);
- </script>
- </body>
- </html>
splice(index, count, item...)
splice(index, count) 从Index位置开始,删除count个数据
splice(index, 0, item...) 从index位置开始,添加item...
splice(index, count, item...) 从Index位置开始,删除count个数据,并插入item...
返回值始终是被删除的数据
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>Document</title>
- </head>
- <body>
- <script>
- var arr=['a', 'b', 'c', 'd', 'e', 'f', 'g'];
- var newArr=arr.splice(2, 2);
- console.log(newArr);//(2) ["c", "d"]
- console.log(arr);//(5) ["a", "b", "e", "f", "g"]
- var arr2=['a', 'b', 'c', 'd', 'e', 'f', 'g'];
- var newArr2=arr2.splice(2);
- console.log(newArr2);//(5) ["c", "d", "e", "f", "g"]
- console.log(arr2);//(2) ["a", "b"]
- var arr3=['a', 'b', 'c', 'd', 'e', 'f', 'g'];
- var newArr3=arr3.splice(2, 0, 'm', 'n');
- console.log(newArr3);//[]
- console.log(arr3);//["a", "b", "m", "n", "c", "d", "e", "f", "g"]
- var arr4=['a', 'b', 'c', 'd', 'e', 'f', 'g'];
- var newArr4=arr4.splice(2, 2, 'm', 'n');
- console.log(newArr4);//(2) ["c", "d"]
- console.log(arr4);//(7) ["a", "b", "m", "n", "e", "f", "g"]
- </script>
- </body>
- </html>
indexOf(value, start) 检测数据在数组中第一次出现的位置
如果有start值,则检测位置从start处开始
lastIndexOf(value) 检测数据在数组中最后一次出现的位置
不存在则为-1
兼容性:IE9+
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>Document</title>
- </head>
- <body>
- <script>
- var arr=['a', 'b', 'c', 'd', 'a', 'b', 'c'];
- var pos=arr.indexOf('c');
- console.log(pos);//2
- var pos=arr.lastIndexOf('c');
- console.log(pos);//6
- var pos=arr.indexOf('m');
- console.log(pos);//-1
- // 自己封装兼容IE9以下版本的indexOf
- function ArrIndexOf(arr, value){
- for(var i=0;i<arr.length;i++){
- if(arr[i]===value){
- return i;
- }
- }
- return -1;
- }
- var pos=ArrIndexOf(arr, 'c');
- console.log(pos);//2
- </script>
- </body>
- </html>
str.charAt(index) 返回str字符串中index位置的字符
str.charCodeAt(index) 返回str字符串中index位置的字符的字符编码
str[index] 兼容性IE7+
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>Document</title>
- </head>
- <body>
- <script>
- var str='hello cyy~';
- console.log(str[3]);//l
- console.log(str.charAt(3));//l
- console.log(str.charCodeAt(3));//108
- </script>
- </body>
- </html>
str.indexOf(value)
str.lastIndexOf(value)
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>Document</title>
- </head>
- <body>
- <script>
- var str='hello cyy~';
- console.log(str.indexOf('l'));//2
- console.log(str.indexOf('llo'));//2
- console.log(str.lastIndexOf('l'));//3
- </script>
- </body>
- </html>
字符串截取
str.slice(start, end)
没有end则默认截取到最后
包含左边不包含右边
如果为负数,则转换为长度+该负数
str.substring(start, end)
与slice基本一致
如果有负数,则自动转换为0
如果前面的数字小于后面的数字,会默认将顺序对换
str.substr(start, len)
截取len为0或者负数时,返回为空
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>Document</title>
- </head>
- <body>
- <script>
- var str='hello cyy~';
- console.log(str.slice(2,5));//llo
- console.log(str.slice(2));//llo cyy~
- console.log(str.slice(-7,5));//lo
- console.log(str.substring(2,5));//llo
- console.log(str.substring(2));//llo cyy~
- console.log(str.substring(-7,5));//hello
- console.log(str.substring(5,2));//llo
- console.log(str.substr(2,5));//llo c
- console.log(str.substr(2));//llo cyy~
- console.log(str.substr(-7,5));//lo cy
- </script>
- </body>
- </html>
获取扩展名
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>Document</title>
- </head>
- <body>
- <script>
- var file="cyy.com.jpg";
- function getExtension(filename){
- var pos=filename.lastIndexOf(".");
- return filename.substr(pos);
- }
- console.log(getExtension(file));//.jpg
- </script>
- </body>
- </html>
str.split(" ") 字符串转数组
str.replace("", "") 字符串替换
replace() 不会改变原字符串
并且replace()只替换第一个,不是全局替换
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>Document</title>
- </head>
- <body>
- <script>
- var str="cyy.com.jpg";
- var arr=str.split(".");
- console.log(arr);//(3) ["cyy", "com", "jpg"]
- var arr2=str.split("");
- console.log(arr2);//(11) ["c", "y", "y", ".", "c", "o", "m", ".", "j", "p", "g"]
- var newStr=str.replace(".","-");
- console.log(str);//cyy.com.jpg
- console.log(newStr);//cyy-com.jpg
- </script>
- </body>
- </html>
str.toUpperCase() 字符串转大写
str.toLowerCase() 字符串转小写
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>Document</title>
- </head>
- <body>
- <script>
- var str="cyy";
- console.log(str.toUpperCase());//CYY
- var str2="CYY";
- console.log(str2.toLowerCase());//cyy
- </script>
- </body>
- </html>
连字符转驼峰
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>Document</title>
- </head>
- <body>
- <script>
- // 方法一
- function toCamel(str){
- var arr=str.split("-");
- var len=arr.length;
- for(var i=1;i<len;i++){
- var word=arr[i];
- word=word.charAt(0).toUpperCase()+word.substr(1);
- arr[i]=word;
- }
- return arr.join("");
- }
- console.log(toCamel("border-left-color"));//borderLeftColor
- console.log(toCamel("margin-top"));//marginTop
- // 方法二
- function toCamel2(str){
- var arr=str.split("-");
- var len=arr.length;
- var newStr=arr[0];
- for(var i=1;i<len;i++){
- var word=arr[i];
- word=word.charAt(0).toUpperCase()+word.substr(1);
- newStr+=word;
- }
- return newStr;
- }
- console.log(toCamel2("border-left-color"));//borderLeftColor
- console.log(toCamel2("margin-top"));//marginTop
- </script>
- </body>
- </html>
Math对象
Math.min() 最小值,如果出现非数字,则返回NaN
Math.max() 最大值,如果出现非数字,则返回NaN
Math.floor() 舍去
Math.ceil() 进一
Math.round() 四舍五入
Math.abs() 绝对值
Math.random() 随机数
Math.random()方法,返回的是一个大于等于0并且小于1的随机数
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>Document</title>
- </head>
- <body>
- <script>
- //Math.random()生成一个0-1之间的随机数(如0.1~0.9),包含0不包含1
- //指定生成2-5之间的随机整数
- //可能是2,3,4,5
- //生成随机整数的个数=5-2+1=4
- //最小值=0.1*个数+2=2.4
- //最大值=9.9*个数+2=5.6
- //获取n-m之间的随机整数
- function getRandom(n,m){
- var len=m-n+1;
- var num=Math.floor(Math.random()*len+n);
- return num;
- }
- console.log(getRandom(2,5));
- </script>
- </body>
- </html>
new Date() 创建时间对象
getFullYear() 年份
getMonth() 月份 0-11
getDate() 日
getDay() 星期 0-6
getHours() 小时
getMinutes() 分钟
getSeconds() 秒
getTime() 时间戳
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>Document</title>
- </head>
- <body>
- <script>
- var time=new Date();
- var weekArr=['日','一','二','三','四','五','六'];
- console.log(time);//Tue Feb 04 2020 22:04:42 GMT+0800 (中国标准时间)
- var year=new Date().getFullYear();//2020
- var month=new Date().getMonth()+1;//2
- var date=new Date().getDate();//4
- var week=new Date().getDay();//2
- var minute=new Date().getMinutes();//6
- var hour=new Date().getHours();//22
- var second=new Date().getSeconds();//5
- console.log(new Date().getTime());//1580825165053
- document.write('现在是'+year+'年'+month+'月'+date+'日'+hour+'时'+minute+'分'+second+'秒'+' 星期'+weekArr[week]);
- </script>
- </body>
- </html>
设置时间的方法
setFullYear()
setMonth() 如果月份大于12,月份=月份-12,此时年份会+1
setDate()
setHours()
setMinutes()
setSeconds()
setTime()
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>Document</title>
- </head>
- <body>
- <script>
- var time=new Date();
- time.setFullYear(2021);
- console.log(time);//Thu Feb 04 2021 22:17:19 GMT+0800 (中国标准时间)
- // 计算50天后是星期几
- // 方法一
- var today=new Date();
- today.setDate(today.getDate()+50);
- console.log(today.getDay());//3
- //方法二
- var today2=new Date();
- var newToday2=new Date(today2.getFullYear(),today2.getMonth(),today2.getDate()+50);
- console.log(newToday2.getDay());//3
- </script>
- </body>
- </html>
js内置对象的常用属性和方法(Array | String | Date | Math)的更多相关文章
- JavaScript中内置对象的一些属性及方法
Javascript对象总结 JS中内置了17个对象,常用的是Array对象.Date对象.正则表达式对象.string对象.Global对象 Array对象中常用方法: Concat():表示把几个 ...
- 5月15日上课笔记-js中 location对象的属性、document对象、js内置对象、Date事件对象、
location的属性: host: 返回当前主机名和端口号 定时函数: setTimeout( ) setInterval() 二.document对象 getElementById(); 根据ID ...
- JS内置对象的原型不能重定义?只能动态添加属性或方法?
昨天马上就快下班了,坐在我对面的同事突然问我一个问题,我说“爱过”,哈哈,开个玩笑.情况是这样的,他发现JS的内置对象的原型好像不能通过字面量对象的形式进行覆盖, 只能动态的为内置对象的原型添加属性或 ...
- JS内置对象-String对象、Date日期对象、Array数组对象、Math对象
一.JavaScript中的所有事物都是对象:字符串.数组.数值.函数... 1.每个对象带有属性和方法 JavaScript允许自定义对象 2.自定义对象 a.定义并创建对象实例 b.使用函数来定义 ...
- js课程 2-8 js内置对象有哪些
js课程 2-8 js内置对象有哪些 一.总结 一句话总结:JS中内置了17个对象,常用的是Array对象.Date对象.正则表达式对象.string对象.Global对象. 1.js常用对象有哪些? ...
- js内置对象常用方法
JS内置对象: ● String对象:处理所有的字符串操作 ● Math对象:处理所有的数学运算 ● Date对象:处理日期和时间的存储.转化和表达 ● Array对象:提供一个数组的模型.存储大量有 ...
- 4月5日--课堂笔记--JS内置对象
JavaScript 4.5 一. JS内置对象 1.数组Array a)创建语法1:var arr=new Array(参数); i. 没有参数:创建一个初始容量为0的数组 ii. ...
- JS 内置对象 String对象
JS内置对象 String对象:字符串对象,提供了对字符串进行操作的属性和方法. Array对象:数组对象,提供了数组操作方面的属性和方法. Date对象:日期时间对象,可以获取系统的日期 ...
- web前端学习(四)JavaScript学习笔记部分(6)-- js内置对象
1.JS内置对象-什么是对象 1.1.什么是对象: JavaScript中的所有事物都是对象:字符串.数值.数组.函数 每个对象带有属性和方法 JavaScript允许自定义对象 1.2.自定义对象: ...
随机推荐
- 注册并加入dn42网络的方法
简介 https://dn42.net/howto/Getting-started 注册要求: 一个24小时运行的linux/BSD设备 该设备必须支持创建隧道,例如GRE,OpenVpn,IPSec ...
- TortoiseSVN使用教程[多图超详细]
安装及下载client 端 下载Windows 端程序:http://tortoisesvn.net/downloads.一般而言,如果是32-bit的Windows XP 应该使用TortoiseS ...
- 教你5分钟做个手机APP[视频]
天天宅在家里,没什么事做,录个教学视频吧! 发到了视频网站上去根本没人看,伤心ing啊! 不知cnblogs上面是否让我发! 先上一张效果图看看哈: 如果播放不正常请点这里:https://www.b ...
- 题解【Luogu P6102 谔运算】
\[ \texttt{Description} \] 给出一个长度为 \(n\) 的数列 \(a\),求 \(\sum\limits_{i=1}\limits^{n}\sum\limits_{j=1} ...
- 超长可视化指南!带你理清K8S部署的故障排查思路,让bug无处遁形
本文将帮助你厘清在Kubernetes中调试 deployment的思路.下图是完整的故障排查思路,如果你想获得更清晰的图片,请在公众号后台(RancherLabs)回复"troublesh ...
- Software Testing Concepts
Software Testing Concepts
- 关于ThinkPHP在Nginx服务器下因PATH_INFO出错的解决方法
参考:https://www.linuxidc.com/Linux/2011-11/46871.htm 这是一个ningx设置的问题,和TP无关.TP默认使用PATH_INFO来做CURD,而ngin ...
- Centos 下设置静态ip地址
今天小编遇到了需要设置centos(6.4) 下静态ip地址,下面把详细步骤记录下来. 1> 首先打开这个 vi /etc/sysconfig/network-scripts/ifcfg- ...
- Visual C# 2015调用SnmpSharpNet库实现简单的SNMP元素查询
一开始调研发现有几个SNMP的库, 一个是net-SNMP,这个好像是linux用的多 一个是微软自己的WinSNMP,这个没有例子,不太好操作 一个是SnmpSharpNet,这个有些例子比较好, ...
- yum安装logstash 不生效
问题描述 根据logstash的配置方法写了一个配置文件,并放入/etc/logstash/conf.d/目录下,然后我们运行logstash # service logstash start Log ...