JS内置对象和数据类型20200420

查文档
查文档学习不同对象,在mdn中查

math对象

不是构造函数,不用new可以直接使用
圆周率:Math.PI
绝对值:Math.abs()
向下取整:Math.floor()
向上取整:Math.ceil()
四舍五入(数字.5会往大取整):Math.round()
随机数Math.random(),随机数的范围:[0,1) 前闭后开
使用方法:math.random()
1到10取整:

function getRandomInt(min, max) {
  min = Math.ceil(min);
  max = Math.floor(max);
  return Math.floor(Math.random() * (max - min)) + min; //不含最大值,含最小值
}
console.log(getRandomInt(1,10));

随机点名:

var arr=['张三','李四','王五'];
console.log(arr[getRandomInt(0,arr.length)]);

data对象

用法地址
没有参数,返回当前系统时间

var date=new Date();
console.log(date);

有参数,返回参数时间

var date=new Date('2020-04-20 14:52:50');
console.log(date);

常用方法:

var date=new Date();
var year=date.getFullYear();
var month=date.getMonth()+1;//getMonth()返回的是0到11,所以加1
var dates=date.getDate();
var day=date.getDay();//返回的是0到6,0是星期天
function gettime(){//获取当前时间
    hours=date.getHours();
    hours=hours<10?'0'+hours:hours;//小于10补零
    minutes=date.getMinutes();
    minutes=minutes<10?'0'+minutes:minutes;
    seconds=date.getSeconds();
    seconds=seconds<10?'0'+seconds:seconds;
    return hours+':'+minutes+":"+seconds;
}
var arr=['星期天','星期一','星期二','星期三','星期四','星期五','星期六'];
console.log('今天是'+year+'年'+month+'月'+dates+'日'+arr[day]+gettime());

获得总的毫秒数(时间戳)
1.

var date=new Date();
console.log(date.valueOf());
console.log(date.getTime());

2.常用

var date1=+new Date();
console.log(date1);

3.h5新增

console.log(Date.now());
**倒计时代码**
function cutdown(time){
   var nowtime=+new Date();//当前时间秒数
   var imputtime=+new Date(time);//用户输入毫秒数
   var times=(imputtime-nowtime)/1000;//剩余秒数
   var dates=parseInt(times/60/60/24);
   dates=dates<10?'0'+dates:dates;
   var hours=parseInt(times/60/60%24);
   hours=hours<10?'0'+hours:hours;
   var minutes=parseInt(times/60%60);
   minutes=minutes<10?'0'+minutes:minutes;
   var seconds=parseInt(times%60);
   seconds=seconds<10?'0'+seconds:seconds;
   return dates+'天'+hours+'时'+minutes+'分'+seconds+'秒';
}
console.log(cutdown('2020-4-20 16:18:00'));

Array对象(数组)

创建方法

var arr=new Array(2);//长度为2的空数组

检测是否为数组

console.log(arr2 instanceof Array);
console.log(Array.isArray(arr2));//Array里面的判断方法,是h5里新增的方法

数组常用方法

push()添加方法
数组尾部追加新的元素,返回值为新数组长度

arr2.push(4,'push');

unshift()添加方法
数组前面追加新的元素,返回值为新数组长度

arr2.unshift(0);

pop()删除方法
数组尾部删除元素。返回值为删除的元素

arr2.pop();

shift()删除方法
在**数组头部*删除元素。返回值为删除的元素

arr2.shift();

reverse()翻转方法

arr.reverse();

数组排序方法

sort()排序方法(冒泡排序)
1.升序排序

arr.sort(function(a,b){
    return a-b;//按照升序
});

2.降序排序

arr.sort(function(a,b){
    return b-a;//按照升序
});

数组索引方法

1.indexof()
前面查找,返回数组对应元素的索引号,返回的是第一个满足条件的索引号,找不到元素则返回 -1

var arr=['red','blue','yellow'];
console.log(arr.indexOf('yellow'));//返回数组对应元素的索引号

2.lastindexof()了解即可
后面
查找,返回数组对应元素的索引号,返回的是第一个满足条件的索引号,找不到元素则返回 -1

var arr=['red','blue','yellow'];
console.log(arr.lastindexOf('yellow'));//返回数组对应元素的索引号

数组去重
1.遍历旧数组,拿着旧数组的元素去查询新数组,如果新数组没有该元素则添加到新数组中。
注:1.利用indexof()返回-1则是新数组中没有查找的元素,则添加。
代码案例

var arr=['a','c','b','a','s','c','b','d','e','a'];
function unique(arr){
var newarr=[];
for(var i=0;i<arr.length;i++){
    if(newarr.indexOf(arr[i])===-1){//indexOf(旧数组元素)方法查询新数组
        newarr.push(arr[i]);//利用push()方法存储元素
    }
}
return newarr;
}
console.log(unique(arr));

数组转字符串方法

tostring()方法
将数组转换为字符串,分隔符为‘,’

console.log(arr.toString());

join()方法
将数组转换为字符串,分隔符自定义

console.log(arr.join('自定义'));//符号自定义

数组连接方法

concat() 连接数组方法
将两个或多个数组连接为一个新数组。
连接两个数组:

var arr1=['a','c','b','a','s','c','b','d','e','a'];
var arr2=[1,23,434,35,3];
var arr=arr1.concat(arr2);

连接多个数组:

var arr1=['a','c','b','a','s','c','b','d','e','a'];
var arr2=[1,23,434,35,3];
var arr3=['red','green'];
var arr=arr1.concat(arr2,arr3);

数组元素多个删除方法

1.splice()方法(重要常用)
splice(第几个索引号开始,删除的个数),以数组形式返回删除的元素。原始数组被改变了

var arr2=[1,2,3,4,5,6,7,8];
console.log( arr2.splice(2,3));//返回的是3,4,5
console.log(arr2);//返回的是1,2,6,7,8

2.slice()方法
slice(begin,end),包括begin,但不包括end。只是浅拷贝,原始数组没有改变

var arr2=[1,2,3,4,5,6,7,8];
console.log( arr2.slice(2,4));//返回的是3,4
console.log(arr2);//返回的是1,2,3,4,5,6,7,8

字符串对象

基本包装类型:把简单数据类型转换为复杂数据类型
查找字符串中所有“o”所在位置及次数

var str='asidosafhosahfbsajfbawurfbnsbfaadsfsghfdh';
var index=str.indexOf('a');
var num=0;
while(index!=-1){
    console.log(index);
    num++;
    index=str.indexOf('a',index+1);
    
}
console.log('a出现的次数是'+num);

根据位置返回字符

1.charat()方法
charat(索引号),返回的是索引号查找的字符

var str='asidosafhosahfbsajfbawurfbnsbfaadsfsghfdh';
console.log(str.charAt(3));

2.charCodeAt()方法
charCodeAt(索引号),返回的是索引号查找的字符,用处是判断用户按下了哪个键。

console.log(str.charCodeAt(3));

3.str()方法
适用于Html5以上等,

console.log(str[1]);

案例:判断字符串出现最多的字符及次数

var str='asidosafhosahfbsajfbawurfbnsbfaadsfsghfdh';
var o={};
for(var i=0;i<str.length;i++){
    var chars=str.charAt(i);//chars是每一个字符
    if(o[chars]){
        o[chars]++;
    }else{
        o[chars]=1;
    }
}
var max=0;
var ch='';
for(var k in o){
if(o[k]>max){
    max=o[k];
    ch=k;
}
}
console.log(max);
console.log('出现最多的字符是'+ch);

substr()截取方法
substr(‘截取的位置’,‘截取几个字符’)

var str='123456789';
console.log(str.substr(3,3));//显示的是456

replace()替换方法
replace(‘被替换的字符’,‘替换的字符’),只替换显示的第一个字符

单个替换:

var str='123456789';
console.log(str.replace(2,'a'));//显示的是1a3456789

多个替换:

var str='123456789123456789123456789';
while(str.indexOf('4')!==-1){
   str= str.replace('4',"*");
}
console.log(str);

split()字符串转数组方法
split(‘分隔符’),分隔符可以变化,取决于原字符串的分隔符

var str='123,456,789123456789123456789';
console.log(str.split(','));//显示["123", "456", "789123456789123456789"]

数据类型

简单数据类型:string,number,Boolean,undefined,null
null返回的是一个空对象
复杂数据类型:object,array,data
通常需要通过new创建对象

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值