js内置对象

本文深入介绍了JavaScript中的内置对象,包括Math对象的常用数学运算,如取圆周率、取整、四舍五入等;Date对象的创建、日期格式化以及获取当前时间、日期毫秒数的方法;Array对象的创建、添加和删除元素的技巧,以及数组去重和转换为字符串的方法。此外,还讨论了字符串的indexOf、charAt等方法。
摘要由CSDN通过智能技术生成

内置对象


●JavaScript中的对象分为3种: 自定义对象内置对象、浏览器对象
●前面两种对象是JS基础内容,属于ECMAScript; 第三个浏览器对象属于我们JS独有的,JS API讲解
●内置对象就是指JS语言自带的一些对象,这些对象供开发者使用,并提供了一些常用的或是最基本而必要的功能(属性和方法)
●内置对象最大的优点就是帮助我们快速开发
●JavaScript提供了多个内置对象: Math、 Date、Array. string

1. Math对象


Math概述


Math对象不是构造函数,它具有  数学常数  和  函数  的属性和方法。跟数学相关的运算(求绝对值,取整、最大值等)可以使用Math中的成员。
 

Math. PI                                            //圆周率
Math. floor ()                                     //向下取整
Math.ceil ()                                        //向上取整


Math. round ()                                   //四舍五入, 就近取整      注意-3.5结果是-3

(碰到  . 5   就往大了取)3.5->4    -2.5 -> -2


Math.abs ()                                        //绝对值
Math .max ()  / Math.min()                 // 求最大和最小值

Math  数学对象不是一个  构造函数

所以我们不需要new来调用而是直接使用里面的属性和方法即可

例如:

    console.log(Math.PI); //一个属性  圆周率
    console.log(Math.max(1, 99,3)); // 99 寻找最大值
    console. log(Math.max(-1, -10)); // -1
    console. log(Math.max(1, 99,' pink老师')); // NaN
    console.log(Math. max()); // -Infinity 

利用对象封装自己的数学对象

例如:(里面有 PI  求最大值 )

var myMath = {
                PI: 3.141592653,
                max: function () {
                    var max = arguments[0];
                    for (var i = 1; i < arguments.length; i++) {
                        if (arguments[i] > max) {
                            max = arguments[i];
                        }
                        return max;
                    }
                }
            }

 Math对象  随机数  方法    Math.random()

 (返回一个随机的小数  0 =< x < 1)

这个方法里面  不跟参数

使用场景:我们想要得到两个数之间的随机整数并且包含这2个整数

Math. floor (Math. random( ) * ( max -min + 1)) + min;

我们可以写成函数封装起来:

 function getRandom(min, max) {
            return Math.floor(Math.random() * (maxmin + 1)) + min;
        }

例如:得到 1 、10 之间的随机数并打印

 console.log(getRandom(1, 10) );


日期对象(Date)


Date概述
●Date 对象和Math对象  不一样, 他是一个构造函数,所以我们需要  实例化  后才能使用
●Date 实例用来处理日期和时间
 

Date()方法的使用


1.获取当前时间必须实例化

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


2. Date ()构造函数的参数


如果括号里面有时间,就返回参数里面的时间

例如日期格式字符串为'2019-5-1' , 可以写成new Date('2019-5-1')
或者new Date("2019/5/1")

日期格式化


 注意: 月份是从(0~11)  ,  getDay  星期天是 0  

格式化日期年月日

        var date = new Date();
        console.log(date.getFullYear());   //返回当前日期的年2022
        console.log(date.getMonth() + 1); // 月份返回的月份小1个月记得月份+1 呦
        console.log(date.getDate()); //返回的是几号
        console.log(date.getDay()); // 周一返回的是1,周六返回的是6, 但是周日返回的是 0

我们写一个     2022年 2月9日星期三

   var year = date.getFullYear();
   var month = date.getMonth() + 1;
   var dates =date.getDate();
   var arr = ['星期日','星期一','星期二','星期三 ','星期四 ','星期五','星期六'];     
   var day =date.getDay();
   console .log('今天是: ' + year + '年' + month + '月' + dates + '日' +arr[day]);

(此处打印  ’星期三‘   较为巧妙, 使用数组  arr[0] ==’星期日‘   )

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

function getTime() {
            var time = new Date();
            var h = time.getHours();
            h = h < 10 ? '0' + h :h;    //如果小于10就在数字前面加 '0'
            var m = time.getMinutes();
            m=  m < 10 ? '0' + m: m;
            var s = time.getSeconds();
            s=s<10 ? '0' + s:s;
            return h+':'+m+':'+ s;
        }
        console.log(getTime());

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

不是当前时间的毫秒数,  而是距离1970年1月1号过了多少毫秒数

 1.通过valueOf()  或    getTime()

 var date = new Date();
        console.log(date.value0f()); //就是我们现在时间距离1970.1.1 总的毫秒数
        console.log(date.getTime());

2.简单的写法(最常用的写法)

 var date1 = +new Date(); // +new Date() 返回的就是总的毫秒数
        console.log(date1);

+new Date(time)    //距离  time  时间过去的总毫秒数

3. H5新增的获得总的毫秒数

console.log(Date.now());

 制作 倒计时

function countDown(time) {
            var nowTime = +new Date(); //返回的是当前时间总的毫秒数
            var inputTime = +new Date(time); //返回的是用户输入时间总的毫秒数
            var times = (inputTime - nowTime) / 1000; // times是剩余时间总的秒数
            var d = parseInt(times / 60 / 60 / 24); //天
            d = d < 10 ? '0' + d :d;
            var h = parseInt(times / 60 / 60 % 24); //时
            h = h < 10 ? '0'+h:h;
            var m = parseInt(times / 60 % 60); //分
            m = m < 10 ? '0' + m : m;
            var s = parseInt(times % 60); //当前的秒
            s = s < 10 ? '0' + s :s;
            return d + '天' + h + '时' + m + '分' +s+'秒';
        }
        console.log(countDown('2022-2-9 8:00:00'));

数组对象

利用  new Array()   创建数组

        var arr1=newArray();//创建了一个空的数组
        var arr1 = new Array(2);//这个2表示数组的长度为2里面有2个空的数组元素
        var arr1 = new Array(2, 3); //等价于[2,3] 这样写表示里面有2个数组元素是2和3
        console.log(arr1);

在  new Array()  括号中 
 

写一个数字 就代表这个数组有  几个空的数组元素 

(  new Array(2)这个2表示数组的长度为2,里面有2个空的数组元素  )

写多个数字  就代表 这个数组就是 由这几个数字组成的数组

 new Array(2, 3);

(  等价于[2,3] 这样写表示里面有2个数组元素是2和3  )


检测是否为数组

(1)    instanceof  运算符     它可以用来检测是否为数组  运算符  不只是Array  其他也行

返回 true  false

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

(2) Array.isArray( 参数 )  ;        H5新增的方法 ie9以上版本支持

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

添加数组元素方法

1. push()  在我们数组的末尾添加一个或者多个数组元素      push推

        var arr = [1, 2, 3];
        arr.push(4,' pink' );
        console.log(arr);
        // arr==[1,2,3,4,'pink];

(1) push是可以给数组追加新的元素

(2) push()     括号中 参数直接写数组元素就可以了

(3) push完毕之后,返回的结果是新数组的长度     

 console.log(arr.push(4,' pink' ));  / /结果为   5

(4) 原数组也会发生变化

2. unshift()   在我们数组的开头添加一个或者多个数组元素

        var arr=[1,2,3];
        console.log(arr.unshift('red', ' purp1e'));   //  5
        console.log(arr);  //  1,2,3,'red', ' purp1e'

(1)unshift()  是可以给数组前面追加新的元素

(2) unshift()    括号中参数直接写数组元素就可以了

(3) unshift完毕之后,返回的结果是新数组的长度

(4) 原数组也会发生变化

删除数组元素方法

1. pop() 它可以  删除 数组的  最后一个元素

        var arr=[1,2,3];
        console.log(arr.pop());
        console.log(arr);

(1)pop()是可以  删除  数组的最后一个元素记住  一次只能删除一个元素

  (2) pop()   没有参数

  (3) pop完毕之后,返回的结果是删除的那个元素

  (4) 原数组也会发生变化

2.shift()  它可以  删除  数组的第一个元素

        var arr=[1,2,3];
        console .log(arr.shift());
        console .log(arr);

(1)shift   是可以删除数组的第一个元素,记住一次只能删除一个元素

(2) shift() 没有参数

(3) shift完毕之后,返回的结果是删除的那个元素

(4) 原数组也会发生变化

1.翻转数组

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

.reverse()  属性 可以翻转数组

2.数组排序(冒泡排序)

        var arr1 = [13, 4, 77, 1, 7];
        arr1.sort(function (a, b) {
            // return a - b;升序的顺序排列
            return b - a; //降序的顺序排列 
        });
        console.log(arr1);

 变量.sort  (function (a, b) {
            // return a - b;  升序的顺序排列
            return b - a;   //降序的顺序排列 
        });



5.5数组索引方法

方法名说明返回值
indexOf()数组中查找给定元素的第一个索引如果存在,返回索引号, 如果不存在,则返回-1。
lastIndexOf()在数组中给定元素的最后一个的索引,如果存在,返回索引号, 如果不存在,则返回-1。

 

数组去重

数组转换为字符串

方法名说明返回值
toString()把数组转换成字符串,逗号分隔每一项返回一个字符串
join("分隔符')方法用于把数组中的所有元素转换为一个字符串。返回一个字符串

join()  中可以指定你想要的分隔符去分隔

 

 

 

 6.3根据字符返回位置


 字符串所有的方法,都不会修改字符串本身(字符串是不可变的),                                                 操作完成会返回一个新的字符串。

方法名说明
indexOf('要查找的字符',开始的位置)返回指定内容在原字符串中的位置,如果找不到就返回-1,开始的位置是index索引号
lastIndexOf()从后往前找,只找第一个匹配的


6.4根据位置返回字符(重点)

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




替换字符     replace('before','after')
字符转换为数组     split(' 分隔符 ')


1.简单类型与复杂类型


简单类型   又叫做  基本数据类型  或者 值类型,  复杂类型  又叫做引用类型

值类型∶简单数据类型/基本数据类型,在存储时变量中存储的是值本身,因此叫做值类型           string , number , boolean , undefined , null

引用类型︰复杂数据类型,在存储时变量中存储的仅仅是地址(引用),因此叫做引用数据类型通过new关键字创建的对象(系统对象、自定义对象),如Object、Array、Date等





 

 


复杂类型  传参 是把地址传给 形参

简单数据类型  传参 是把传给 形参
 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值