前端基础之JS(4)(内置对象)

165 阅读4分钟

1.内置对象

js对象分为自定义对象,内置对象(js自带),浏览器对象

1.1 Math对象(数学)

math.round()               四舍五入
math.random()              随机数
math.max()/math.min()      最大小  
math.abs()/math.pi         绝对值/π
math.ceil()/math.floor()   向上取整/向下取整   
math.pow()/math.sqrt()     指数次幂/平方根
round/random/ceil/floor/abs/max/min/pi/pow/sqrt

1.2 Date对象(日期和时间)

Date是一个构造函数,需要实例化才能使用其中的方法和属性
new Date()//实例的是当前时间
new Date(dateString/value)//字符串的时间形式/时间戳
方法
    getFullyear()/年
    getMonth()/月(0-11getDate()/日
    getDay()/星期(0-6getHours()/小时
    getMinutes()/分钟
    getSecond()/秒

1.3 Array对象(数组)

1.3.1 数组判断

var arr=[1,2,3]
1. instanceof 判断一个对象是否是某个构造函数的实例
      arr instanceof Array (true/false)
2. Array.isArray() 判断一个对象是否是数组
      Array.isArray(arr)
3.valueOf()
    不同类型对象的返回值:
        Date:返回1970年一月一日到现在的毫秒数(时间戳)
        boolean:返回布尔值
        Arrayobjectstring,function,Number 都返回本身      
4.typeOf() 判断基本数据类型

1.3.2 数组增删,排序,索引

.push()     数组末尾加多个元素,改变原数组,返回新数组长度
.unshift()  数组顶部加多个元素...(shift,转变)
.pop()      数组末尾删一个元素,改变原数组,返回删除的元素
.shift()    数组顶部删一个元素...
.reverse()  颠倒数组,改变原数组,返回新数组
.sort()     小到大排序,改变原数组,返回新数组,他是比较unicode,有点问题
               var arr=[21,11,2,10,19,50,14]
                arr.sort( function(a,b){
                  return a-b;//升序(a比b大,交换,把a放后面)
                  return b-a;//降序
                });
.indexOf(‘查找的元素1’,开始查找的索引号) (从前找)
            查找数组给定元素的第一个索引,存在返回索引号,否则-1
.lastIndexOf(‘查找的元素2’)  (从后找)
            查找数组给定元素的最后一个索引

1.3.3 数组转字符串

.toString()   数组变为逗号拼接的字符串
    arr.toString()
    [1,2,3,4]---》1,2,3,4
.join(分隔符)
    arr.join('+++')   数组变成自定义分隔符拼接的字符串
    [1,2,3,4]---》1+++2+++3+++4

1.3.4 清空数组

arr = []
arr.length = 0
arr.splice(0,arr.length)

1.3.5 数组删除,拼接与截取

.splice(开始索引,length)    数组删除,改变原数组,返回被删除的片段
.concat(array2)            拼接多个数组,不改变原数组,返回拼接后的数组
.slice(开始索引,结束索引)   数组截取,不改变原数组,返回截取的片段

1.4 String对象(字符串)

1.4.1 字符串不可变问题

    字符串里面的值是不可改变的,内容改变的时候,是在内存中重新开辟一个空间,
    用于存储新的内容,让字符串指向新开辟的空间

1.4.2 根据字符返回位置/位置返回字符

1.根据字符返回位置(与数组一致)
    .indexOf('查找的元素',开始查找的位置的索引) 返回查找到的第一个索引
    .lastIndexOf('查找的元素') 从后面开始查找,返回第一个索引
    例:
        var str = '改革春风吹满地,春天来了';
        console.log(str.indexOf('春',3));
2.根据位置返回字符
    .charAt(字符串的索引)  返回一个字符
    例:
        var str = '码上未来';
        console.log(str.charAt(3));

1.4.3 字符串拼接,截取,替换,分割

a.concat(b)    拼接两个字符串
.slice(开始索引,结束索引)     截取,结束索引取不到,
    能为负数(从后数)  ,前面要数组中较前的索引
.substring(start,end)        截取,结束索引取不到,
    把负数或NaN替换为0 ,自动把小的数作为起点(索引和结束索引)
.substr(开始的索引,length)   截取,返回截取片段,不影响原字符串,
    长度可以是0/负数,截取为空字符串(索引和长度)    
    
.replace(被替换的字符,替换的字符)   替换  返回替换片段,不改变原数组
.split(分割字符)              分割字符串,返回数组
例:
     var arr = [1, 2, 3, 4]
    // 数组转字符串,用分隔符拼接
        arr = arr.join('++')
        console.log(arr);
    // 字符串按分隔符分割,返回数组
        arr = arr.split('++')
        console.log(arr);

2.数据类型存储方式

2.1数据类型分类

简单数据类型: string,number,boolean,undefined,null
引用数据类型: Object,Array,function,Date

2.2简单数据类型和引用数据类型传参

简单数据类型传递的是值,引用数据类型传递的是地址