javascript的内置对象

javascript的内置对象

  1. 什么是内置对象
    在javascript中的对象分为3种:自定义对象,内置对象,浏览器对象
    前面两中对象是JS基础内容,属于ECMAScript,第三个浏览器对象属于JS独有的
    内置对象:就是指JS语言自带的一些对象,这些对象供开发者使用,并提供了一些常用的或是基本而必要的功能,(属性和方法)
    内置对象最大的有点就是帮助快速开发
    javascript提供多个内置对象:Math,Date,Array,String等
  2. 根据文档查询指定API的使用方法
    文档搜索地址:MDN文档
  3. math对象的常用方法
    Math对象不是构造函数,它具有数学常数,和函数的属性和方法,和数学相关的运算,(求绝对值,取整,最大值等)可以使用Math中的成员
    比如:
    Math.Pr 圆周率
    Math.floor 向下取整
    Math.ceil 向上取整
    Math.abs 绝对值
    Math.max() Math.min() 求最大值和最小值
    自己封装一个数学对象
<script>
    var Mymath={
        pi:3.1415926,
        max:function (){
            var max=arguments[0]
            for(var i=0;i<=arguments.length;i++){
              if(arguments[i]>max){
                max=arguments[i]
              }
            }
            return max
        },
        min:function (){
            var min=arguments[0]
            for(var i=0;i<=arguments.length;i++){
              if(arguments[i]<min){
                min=arguments[i]
              }
            }
            return min
        }
    }
    console.log(Mymath.min(1,2,3,4))
    console.log(Mymath.max(1,2,3,4))
</script>

Math对象的随机数方法:Math.random()
(1)返回一个随机小数 0=<x<1
(2)这个方法里面不跟参数(3)代码

<script>
    function getRandom(min, max) {
  
  return Math.floor(Math.random() * (max - min + 1)) + min; //含最大值,含最小值 
}
var arr=["张三","张三丰","lisi","lisisi"]
console.log(arr[getRandom(0,arr.length-1)])

文档查询:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Math/random

  1. Data日期对象的常用方法
    注意:Date对象和Math对象不一样,它时间一个构造函数,所以需要实例化后才能使用(必须使用new来调用创建我们的日期对象),Date主要用来处理日期和时间
<script>
    var mydate=new Date()//没有加参数返回的是当前的时间
    console.info(mydate)
    var date=new Date("2021-3-28")//有参数就返回参数里面是的时间
    console.log(date);
</script>

日期的格式化:如输出2019-8-8 8:8:8格式的日期

<script>
    
    var date=new Date()
    console.log(date);
    var year=date.getFullYear()//输出当前年份
    console.log(year);
    var month=date.getMonth()//输出当前月份,返回的月份小一个月,记得月份加一
    console.log(year+"-"+month);//拼接 输出 2021-2
</script>

练习:要求封装一个函数返回当前的时分秒 格式 08:08:08

<script>
    function nowtime(){
        var date=new Date()
        var h=date.getHours()
        console.log(date);
        h=h<10?"0"+h:h
        var m=date.getMinutes()
        m=m<10?"0"+m:m

        var s=date.getSeconds()
        s=s<10?"0"+s:s

        return h+':'+m+':'+s
      
    }
    console.log(nowtime());//输出:00:04:56
</script>

获取总的毫秒数(时间戳)的代码:三种方式

<script>
    //获得Date总的毫秒数,不是当前时间的毫秒数,而是1917年1月,1日过了多少毫秒数
    //(1)通过valueOf()  和 getTime()
    var date= new Date()
    console.log(date.valueOf());
    console.log(date.getTime());//输出:现在的时间距离1970年1.1.总的毫秒数
    //(2)简单常用的写法:
    var date1=+new Date()//返回和上面一样
   //(3)H5新增的获得总的毫秒数
   console.log(Date.now());
</script>

倒计时的计算:

<script>
    function countTime(time) {
        var nowTime=+new Date()//返回当前的时间的总的毫秒数
        var inputTime= +new Date(time)//用户输入的时间的总的毫秒数
        var time= (inputTime-nowTime) /1000//time是剩余时间的总的秒数
        var d=parseInt(time / 60 /60 /24) //天
        var h=parseInt(time / 60 /60 %24) //时
        var m=parseInt(time /60 %60) //分
        var s=parseInt(time %60) //秒

        return d+'天'+h+'时'+m+"分"+s+"秒"
        
    }
    console.log(countTime("2021-5-1"))
    
</script>

文档查询:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Date
6. Array对象的常用方法
(1)数组对象的创建

<script>
    // 字面两方式
    var arr=[123]
    //new Array()创建
     var arry=new Array()//创建一个空数组
   var arr1=new Array(2,3)//等价于[2,3]
     
</script>

(2)检测是否为数组的两种方法
https://www.jb51.net/article/189720.htm
(3)添加和删除数组元素的方法
在这里插入图片描述

<script>
     var arr=[1,2,3,4,5]
    arr.push(7,8,9)//追加元素
    console.log(arr);//[1, 2, 3, 4, 5, 7, 8, 9]0: 11: 22: 33: 44: 55: 7length: 6__proto__: Array(0)

    arr.pop()//删除一个末尾元素
    console.log("删除",arr.pop());//返回删除元素的值
    arr.unshift(88)
    console.log("删除",arr); //[88, 1, 2, 3, 4, 5, 7]
    arr.shift()
    console.log("删除",arr); //删除 (6) [1, 2, 3, 4, 5, 7]
</script>

(4)获取数组元素的索引
indexOf()在数组中查找给定元素的第一个索引 ,如果存在返回索引号,如果不存在则返回-1
lastindexOf() 在数组中的最后一个索引,如果存在返回索引号,如果不存在则返回-1
(5)数组的排序,筛选

<script>
//数组的筛选
    var arr=[1500,1200,2000,2100,1800]
    var newarr=[]
    for(var i=0;i<=arr.length;i++){
        if(arr[i]<2000){
            newarr.push(arr[i])
        }
    }
    console.log(newarr);
    //数组的排序
    console.log("数组的排序",arr.reverse());
    var arr1=[12,57,63,74,85]
    console.log("数组的排序",arr1.sort());
    //获取数组元素的索引:
    console.log("获取数组元素的索引",arr1.indexOf(12));//输出:0
    console.log("获取数组元素的索引2",arr1.lastIndexOf(12));//输出:0
</script>

(6).数组的去重:
(7).数组转化为字符串:

<script>
    // 去重
    var oldarr=[1,1]
    var newarr=[]
    for(var i=0;i<oldarr.length;i++){
        if(newarr.indexOf(oldarr[i])===-1){
            newarr.push(oldarr[i])
        }
     
    }
    console.log("去重",newarr);
    //数组转化为字符串
    var colors=["red","blanck","blue"]
    console.log("数组转化为字符串toString",colors.toString());//输出:数组转化为字符串toString red,blanck,blue
    console.log("数组转化为字符串join",colors.join("-"));//输出:数组转化为字符串join red-blanck-blue
</script>

基本包装类型
只有复杂数据类型才有属性和方法,对象才有属性和方法,基本包装类型:就是吧简单数据类型包装成为复杂数据类型,案列:

<script>
    //基本包装类型
    var str="niuchangju"
    //(把简单数据类型包装为复杂数据类型)
    var temp=new String("str")
    //(2)把临时变量的值给str
    str=temp
    //(3)销毁这个临时变量
    temp=null

</script>
  1. String对象的常用方法
    (1)根据字符返回位置
    方法一: indexOf(“要查找的字符”,起始的位置) 两个参数,找不到相应的结果就返回-1,找得到就返回所在位置的下标
    方法二:lastIndexOf()
<script>
    //str.indexOf("要查找的字符",起始的位置)    两个参数
    var str="改革春风吹满地,春天来了";
    console.log(str.indexOf("春"));//2
    console.log(str.indexOf("春",3));//8  从索引号3的位置开始往后查找 
    
</script>

(2)根据位置返回字符

<script>
   
    //根据位置返回字符
    //方法一
    var str ="andy";
    console.log(str.charAt(3));//y
    //遍历所有字符
    for(var i=0;i<=str.length;i++){
       console.log(str.charAt(i));//返回所有字符
    }
     //方法二:返回相应索引号的字符ASCLL值,目的判断用户按的哪个键
     console.log(str.charCodeAt(0));//97
     //方法三:str[index] h5新增的
     console.log(str[2]);//d
</script>

(3)在一个对象中,判断是否有该属性 对象[‘属性名’]

 var o={
         age:18

     }
     if(o["age"]){
         console.log("里面有该属性");
     }else{
         console.log("里面没有该属性");
     }

(4)统计出现最多的字符、

<script>
  
     //统计出现最多的字符、
     var bigstr='abhsbsbdjskbbbb';
     var o={}
     for(var i=0;i<=bigstr.length;i++){
         var chars=bigstr.charAt(i)//是字符串的每一个字符
         if(o[chars]){//得到的是属性值
            o[chars]++

         }else{
             o[chars]=1
         }
     }
     console.log("返回次数最多的字符",o);//{a: 1, b: 7, h: 1, s: 3, d: 1, …}
//求出出先次数最多的字符
var max=0
for(var k in o){
    //k得到的是属性名
    //o[k]得到的是属性值 
    if(o[k]>max){
        max=o[k];

    }
    }
    console.log(max);//7
</script>

(5)拼接以及截取字符串

<script>
    //字符串的拼接以及截取 concat("字符串1",子字符串2,....)
    var str="andy"
    console.log(str.concat("red"))//andyred
    //substr("截取的起始位置",”需要截取的几个字符)
    var str1="改革春风吹满地"
    console.log(str1.substr(2,2));//第一个2是索引号的2,从第几个开始,第二个2是取几个字符  春风
</script>

(6)替换字符串以及转化为数组

<script>
     var bigstr='abhsbsbdjskbbbb';
    //替换字符:replace("被替换的字符","替换为字符")注意:只会替换第一个字符
    console.log( bigstr.replace("b","*"));//a*hsbsbdjskbbbb
    //将字符转化为数组 split("分隔符")
    console.log(bigstr.split(""));// ["a", "b", "h", "s", "b", "s", "b", "d", "j", "s", "k", "b", "b", "b", "b"]
</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值