js-内置对象的使用

Date日期对象的使用

Date()日期对象﹑是一个构造函数,必须使用new来调用创建我们的日期对象

var arr = new Array();//创建一个数组对象

一,使用Date

如果没有参数返回当前系统的当前时间

var date = new Date();

二,参数常用的写法:

  • 数字型 2019,10,01
var date1 = new Date(2019101);

返回的是11月不是10月

  • 字符串型’2019-10-1 8:8:8’
var date2 = new Date( '2019-10-1 8:8:8');

date1和date2对比,字符串型更常用,因为数字型返回的月份会小一个月,不准确
在这里插入图片描述

三,格式化日期

在这里插入图片描述

数组对象的使用

一,创建数组的两种方法:

1.利用数组字面量:var arr =[1,2,3];
2.利用new Array():
var arr = new Array(2); 数组的长度是2
var arr = new Array(2,3); 数组有两个元素

二,检测是否为数组的两种方法

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

var arr =[];
var obj = {};
console.log(arr instanceof Array);
console.log(obj instanceof Array);

(2)Array.isArray(参数)

console.log(Array.isArray(arr));
console.log(Array.isArray(obj));

三,添加删除数组元素的方法:

在这里插入图片描述
1.push
在数组末尾添加元素

var arr =[1500,1200,2000,2100,1800];
var newArr =[];
for (var i =e; i < arr.length; i++) i
if (arr[i]< 2000) {
newArr.push(arr[i]);
}

}

2.unshift:
在数组前面添加元素

arr.unshift('red');

在这里插入图片描述
3. pop
删除数组的最后一个元素(只能一个),并返回被删除的元素

arr.pop();

返回值:
在这里插入图片描述

4.shift
删除数组的第一个元素(只能一个),并返回被删除的元素

arr.shift();

四,数组排序的两种方法

1.reverse():

var arr =[ "pink " , 'red ', 'blue'];
arr.reverse();

2.sort():(冒泡排序)

var arr1 =[1347717];
arr1.sort(function(a,b){
 return a - b;//升序的顺序排列
 return b - a; //降序序的顺序排列
});

升序的顺序排列: a - b;
降序的顺序排列: b - a;

五,数组的索引方法:

1.indexOf():
可返回某个指定的字符串值在字符串中首次出现的位置。
如果要检索的字符串值没有出现,则该方法返回 -1。

其中,写成indexOf("s",3)的3是指返回从3开始找到的"s"
例子:
查找字符串"abcoefoxyozzopp"中所有o出现的位置以及次数
核心算法:
先查找第一个o出现的位置,然后只要indexOf 返回的结果不是-1就继续往后查找,因为indexOf 只能查找到第一个,所以后面的查找,一定是当前索引加1,从而继续查找

var str = "oabcoefoxyozzopp";
var index = str.indexof( "o");
var num = e;
while (index !== -1){
console.log(index);
num++;
index = str.indexOf("o" , index + 1);
console.log( 'o出现的次数是:' + num);
}

2.lastIndexOf():与上面类似,但从后面开始返回
案例:
封装一个去重的函数unique独一无二的function

unique(arr) {
var newArr = [];
for (var i = e; i < arr.length; i++)i
if (newArr.indexof(arr[i])=== -1) {
newArr.push(arr[i]);
}
}
return newArr;
}
var demo = unide([ 'c', "a ', 'z', 'a', "x ', 'a', 'x ', 'c','b'])

**

六,数组转换为字符串

1.toString():转换为字符串

var arr =[123];
console.log(arr.tostring());

2.join():join(分隔符)

var arr1 = [ ' green ', "blue " , "pink" ];
console.log(arr1.join()); //输出 green,blue,pink

七,其他

方法名说明返回值
concat()连接两个或多个数组不影响原数组返回一个新的数组
slice)数组截取slice(begin, end)返回被截取项目的新数组
splice()数组删除splice(第几个开始,要删除个数)返回被蒯除项目的新数组注意,这个会影响原数组

字符串对象

一,基本包装类型

为了方便操作基本数据类型,JavaScript还提供了三个特殊的引用类型;String、Nurmber和Boolean
基本包装类型就是把简单数掘类型包装成为复杂数据类型,这样基本数据类型就有了属性和方法
下面代码有什么问题?

var str = ' andy ' ;
console.log(str.length) ;

按道理基本数据类型是没有属性和方法的,而对象才有属性和方法,但上面代码却可以执行,这是因为js 会把基本数据类型包装为复杂数据类型,其执行过程如下:
1.生成临时变量,把简单类型包装为复杂数据类型

var temp= new String ( ’ andy ’ ) ;

1/2赋值给我们声明的字符变量

str =temp ;

1/3.销毁临时变量

temp = null;

二,根据位置返回字符

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

例子:
判断一个字符串’abcoefoxyozzopp’中出现次数最多的字符,并统计其次数。

核心算法:
利用charAt()遍历这个字符串,把每个字符都存储给对象,如果对象没有该属性,就为1,如果存在了就+1。遍历对象,得到最大值和该字符

var str = 'abcoefoxyozzopp ';
var o= {};
for (var i = e; i < str.length; i++) {
var chars = str.charAt(i); // chars是字符串的每一个字符
if (o[chars])i // o[chars],得到的是属性值
		o[chars]++;
		}else {
		o[chars] = 1;
		}
}
console.log(o);

输出:
在这里插入图片描述

三.字符串操作方法:

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

1.concat('字符串1",'字符串2…)

var str = "andy " ;
console.log(str.concat( 'red '));

输出:andyred

2.substr(·截取的起始位置’,“截取几个字符”);

var str1 ="改革春风吹满地";
console.log(str1.substr(22));

第一个2是索引号的2从第几个开始﹐第二个2是取几个字符
输出:春风

3.replace( ‘被替换的字符’,‘替换为的字符’)它只会替换第一个字符
例子:
有一个字符串 'abcoefoxyozzopp’要求把里面所有的 ○ 替换为 *

var str1 = 'abcoefoxyozzopp';
while (str1.indexof( "o')!== -1){
str1 = str1.replace( 'o', "*');}
 }
console.log(str1);

4.split("分隔符’)
对比join把数组转换为字符串,split是字符转换为数组

var str3 = "red&pink&blue " ;
console.log(str3.split( '&"));

输出:
[ “red”, " pink “,” blue"]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值