js内置对象之String、Data、Array、Math

@[TOC] JavaScript对象

一、String对象:

字符串对象也可以使用字符串的方法。

1.String对象的创建。

var s0 = new String();//创建空字符串
var s1 = new String("abc");//非空字符串

注意:不建议创建String对象,它会拖慢执行速度,由于它会占用引用空间。
可以选择直接赋值产生字符串。例如:var s1 = "abc"的方式。

2.字符串的遍历:

	for(var index in s)
    {
        console.log(s[index]);
        console.log(s.charAt(index));
        console.log(s.charCodeAt(index));//将获取到的字符转换成ascii
        
    }

3.检测类型:

	var s = new String("abc");
	var s1 = "abc";
    console.log(typeof s);//object
    console.log(typeof s1);//string
    console.log(s == s1);//true
    console.log(s === s1);//false值相同类型不同

4.字符串方法:

(1)parseInt():字符串类型的数字转换成数字类型。(强制转换)
注意这里的字符串要是数字在后就无法这样转换.
这个方法有两个参数,一个是字符串,一个是转换的进制(默认情况下是10进制)

	console.log(parseInt("123"));//字符串中位于前面的数字字符串转化为整数
    console.log(parseFloat("98.63"));//98.63
    console.log(parseInt("98/*"));//98

(2)toString(): 数字类型转换成字符串类型

	var a = 123;
    console.log(a.toString());//”123“

(3)indexOf():在字符串检测字符的方法
indexOf用法:1个参数(要检测的字符)。如果存在返回能找到得第一个这个字符下标,不存在返回-1
2个参数(要检测的字符,起始查找的索引位置)。如果存在返回所找到的第一个下标,不存在返回-1
查找的顺序是从左向右查找。

	var str = 'ekhckjhjk';
    console.log(str.indexOf("c"));//3
    console.log(str.indexOf("k",1));//1
    //LastindexOf,查找的顺序是从右向左。其余特性与indexOf相同
    console.log(str.lastIndexOf("c"));
    console.log(str.lastIndexOf("c",4));

(4)concat():返回的是拼接之后的字符串

	var m = "kloin";
    var k = "56668p";
    console.log(str.concat(m));
    console.log(str.concat(m,k));//ekhckjhjkkloin56668p
    console.log(str.concat(m).concat(k));//ekhckjhjkkloin56668p

(5)replace():字符的单个替换方法
两个参数分别是要替换的字符+替换的值

 var str = 'ekhckjhjk';
 console.log(str.replace("k",0));//e0hckjhjk

(6)search():查找字符的方法
参数为所要查找的字符。这个里面可以写正则表达式,indexOf不可以

var str = 'ekhckjhjk';
console.log(str.search("c"));//3

(7)ascii值 与 字符之间的相互转换
charCodeAt():参数为当前字符的索引。将字符转化为ascii值
fromCharCode():将ascii值转化为字符
charAt():参数为当前字符的索引.根据索引取字符

	var s = "a";
    console.log(s.charCodeAt(0));//97
    console.log(String.fromCharCode(98));//b
    console.log(s.charAt(0));//a

(8)split() : 将字符串转化为数组,参数是:符号(以什么符号隔开)

	var s1 = "adkjkh";
    console.log(s1.split(""));//用空字符串隔开["a","d","j","k","h"];

(9)字符串里面的截取方法
slice(),参数为开始截取的索引,结束截取的索引。取小不取大
substr(),参数是起始索引 + 截取的长度
substring(),参数是起始索引和结束索引,取小不取大

	var k1 = "jkjjljhjdan";
    console.log(k1.slice(0,3));//不影响原字符jkj
    console.log(k1.substr(2,4));//jjlj
    console.log(k1.substring(0,4));

(10)trim() :字符串去空的方法(这个去空是对字符串的首尾进行去空)

var user = " a b c d e f ";
    console.log(user.trim());
    console.log(user);

(11)大小写的字符串转化

	var s2 = "ABCDEljklj";
    console.log(s2.toLocaleLowerCase());//abcdeljklj  本机的
    console.log(s2.toLowerCase());//abcdeljklj  国际上的
    console.log(s2.toUpperCase());//ABCDELJKLJ
    console.log(s2.toLocaleUpperCase());//ABCDELJKLJ

(12)字符串里面获取各个值

	var s3 = "abc";
    console.log(s3.charAt(1));
    console.log(s3[0]);

二、数组(Array)对象:

1.创建数组:

	//标准写法
    var arr = new Array();//实例化一个数组对象
    console.log(arr);
    //简单写法
    var arr1 = [];
    console.log(arr1);

2.给数组赋值:

在构造函数括号里直接写值的时候,注意参数的个数,
写一个值代表数组的长度
写多个值代表数组里面的值

	var arr2 = new Array(2);
    console.log(arr2);//数组长度为2的空数组
    var arr3 = new Array(1,2,3,4,5);
    console.log(arr3);//数组的长度自动,内容为参数列

3.数组的取值。

数组里面的存储值是按照key:value的方式存的

var arr3 = new Array(1,2,3,4,5);
console.log(arr3[0]);

4.给数组某个索引位赋值。

var arr3 = new Array(1,2,3,4,5);
arr3[0] = "y";
console.log(arr3);//["y",2,3,4,5]

5.数组的属性,长度length,可以返回数组的长度。

var s3 = [1,2,3,4];
console.log(s3.length);//4

6.数组里面的方法。

join将数组的每一位进行拼接,参数是符号。
将数组转化为字符串的方法

	var s3 = [1,2,3,4];
	console.log(s3.join("_"));//1_2_3_4
    //reverse  数组进行翻转  对原数组有影响
    console.log(s3.reverse());//[4, 3, 2, 1]

7.数组的截取。

slice 数组的截取 参数是截取的开始和结束索引,取小不取大(对原数组没有影响)
splice 数组的截取 参数是起始索引+截取长度,返回值是截取结果(对原数组有影响)

	console.log(s3.slice(0,2));//[4, 3]
    console.log(s3.splice(1,3));//[3,2,1]

8.数组的拼接。

concat() : 数组拼接

	var a1 = [1,2,3];
    var a2 = [4,5,6];
    console.log(a1.concat(a2));

9.数组的拷贝。(不影响原数组)

copyWidthin() 将数组里面的某一个拷贝到另一个位置
第一个参数是复制后的值放的位置,第二个参数是开始复制的位置,第三是结束复制的位置(满足取小不取大)

	var str = ["a","b","c","d","h"];
    str.copyWithin(2,0,1);
    console.log(str);//["a", "b", "a", "d"]

10.every() :检测数组里面的值,是否满足条件.参数是个函数

检测数组里面的每一位,是否满足函数条件 满足true 不满足就是false
function里的参数分别是当前的值(必填),当前元素的索引值,当前元素的数组对象

	var array = [2,6,8];
    console.log(array.every(function(currentValue,index,arr)
    {
        return currentValue % 2 == 0;
    }));

11.fill() :使用固定值 填充数组的某一位(影响元素组)

fill方法的参数:
1.要填充的值 2.start 3.end(取大不去小)
如果只写一个参数  默认全部填充为同一值
var array = [2,6,8];
console.log(array.fill("name"));//["name", "name", "name"]
console.log(array.fill("a",0,2));//["a", "a", "name"]

12.fillter(): 数组的过滤

参数:
1.必须。回调函数function。
2.arr5处这个是可选。传递给回调函数的this,如果不写this undefined

	var arr5 = [1,2,3,4,5,6];
    console.log(arr5.filter(function(currentValue){
        console.log(this);//[1, 2, 3, 4, 5, 6]
        return currentValue % 2 == 0;
    },arr5));//[2, 4, 6]

13.find(): 根据条件找满足的第一个值

	var t1 = [1,2,3,4,5];
    console.log( t1.find(function(currentValue,index){
        console.log(currentValue);
        //在没写如下条件的情况下结果是遍历每一位
        return currentValue % 3 == 0;
    }));//3找到一个返回条件的就不会再执行了

14.findindex() 与find类似,只是它返回的是满足条件的第一个元素值的索引。

		var t1 = [1,2,3,4,5];
		console.log( t1.findIndex(function(currentValue,index){
        console.log(currentValue);
        //在没写如下条件的情况下结果是遍历每一位
        return currentValue % 3 == 0;
    }));//2

15.foreach(): 数组的内置方法 数组的遍历。

	var t1 = [1,2,3,4,5];
	t1.forEach(function(currentValue,index)
    {
        console.log(currentValue);
    });

16.includes(): 检测数组里面是否包含某个值,返回值是 true 或 false。

var t1 = [1,2,3,4,5];
console.log(t1.includes(5));

17.indexOf(): 检测数组里的某个值

找到了返回索引,找不到返回-1。
var t1 = [1,2,3,4,5];
console.log(t1.indexOf(3));

18.isarray(): 检测当前对象是否是数组

该方法比较特殊,是数组类对象的方法。
var t1 = [1,2,3,4,5];
console.log(Array.isArray(t1));//true

19.map() : 映射。

	var t1 = [1,2,3,4,5];
	console.log(t1.map(function(currentValue,index)
    {
        //如果不写内容就是遍历
        return currentValue * 2;//[2, 4, 6, 8, 10]
    }));

20. reduce(): 累计(从左到右累计)

它的参数之一的调用函数的参数为totle,currentValue,index
	var t1 = [1,2,3,4,5];
	console.log(t1.reduce(function(totle,currentValue,index)
    {
        //必须写return 不然无法保存累积值
        return totle + currentValue;
    }));//15

21.reduceRight(): 累计(从右向左)

	console.log(t1.reduceRight(function(totle,currentValue,index)
    {
        //必须写return 不然无法保存累积值
        return totle + currentValue;
    }));//15

三、Math对象:

与C语言以及Python语言的Math库内容相似。

1.Math对象中的常数。

	console.log(Math.E);
    console.log(Math.PI);

2.求绝对值。

console.log(Math.abs(-1));

3.Math中的三角函数,其参数为弧度值。

	console.log(Math.cos(30*Math.PI/180));
    console.log(Math.sin(30*Math.PI/180));
    console.log(Math.tan(30*Math.PI/180));

4.反三角函数。

    console.log(Math.acos(45*Math.PI/180));
    console.log(Math.asin(30*Math.PI/180));
    console.log(Math.atan(30*Math.PI/180));

5.向下取整。

console.log(Math.floor(4.9));//4

6.向上取整。

console.log(Math.ceil(4.1));//5

7.四舍五入。

console.log(Math.round(4.4));//4

8.返回最大值。

console.log(Math.max(1,2,99,6));

9.返回最小值。

console.log(Math.min(1,99,6,0));

10.幂方法。

console.log(Math.pow(2,3));

11.开平方。

 console.log(Math.sqrt(9));

四、日期对象(Date):

1.实例化日期对象。

 	var time = new Date();
    console.log(time);//可以直接拿到中国标准时间

2.日期对象的set型方法(即设置类型)。

	var nowtime = new Date();
    nowtime.setDate(12); //设置日期
    //nowtime.setFullYear(2021,2,12); //  使用该方法  设置的时候注意月  月份+1
    nowtime.setYear(2021);//设置年的
    nowtime.setMonth(2);//设置月   +1
    nowtime.setHours(20);//设置小时
    nowtime.setMinutes(59);//设置分钟
    nowtime.setSeconds(59);//设置秒的
    nowtime.setMilliseconds(999);//设置毫秒的
    console.log(nowtime);

3.日期对象的get型方法(即获取不同单位的时间)

	var stime = new Date();
    console.log(stime.getFullYear());//2020
    console.log(stime.getYear());//120   1900  +120    2020   从1900年开始计算的
    console.log(stime.getMonth());//5  使用的时候+1
    console.log(stime.getDate());//日
    console.log(stime.getDay());//周几
    console.log(stime.getHours());//小时
    console.log(stime.getMinutes());//分钟
    console.log(stime.getSeconds());//秒
    console.log(stime.getMilliseconds());//毫秒

4.日期对象的时间对象转化;

	console.log(nowtime.toDateString());//Sat Jun 12 2021
    console.log(nowtime.toISOString());//获取的时间是iso时间   中国时间-8时差
    console.log(nowtime.toLocaleDateString()); //2021/3/12
    console.log(nowtime.toLocaleString());//2021/3/12 下午8:59:59
    console.log(nowtime.toLocaleTimeString());//下午8:59:59
    console.log(nowtime.toTimeString());//20:59:59 GMT+0800 (中国标准时间)
    console.log(nowtime.toUTCString());//Fri, 12 Mar 2021 12:59:59 GMT   也是减8个时差
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值