八,内置对象

JS中的对象分为3种:自定义对象、内置对象、浏览器对象

起那面两种对象是JS基础内容,属于ECMAScript;第三个浏览器对象属于我们JS独有的;

内置对象就是指JS语言自带的一些对象,这些对象供开发者使用,并提供一些常用的或是最基本而必要的功能(属性和方法 ),程序员不用管具体怎么实现,直接使用就可以了。帮助我们快速开发

JS中提供了多个内置对象:Object,Function,Array、Math、Date、String、Boolean、Number,REX等

参考文档:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects

查阅文档的方法:

  1. 查阅该方法的功能
  2. 查看里面参数的意义和类型
  3. 查看返回值的意义和类型
  4. 通过demo进行测试

1、Math对象


Math和其他的对象不同,它不是一个构造函数,它属于一个工具类,不用创建对象,它里面封装了数学运算相关的属性和方法
比如 Math.PI表示圆周率
 

Math.abs()可以用来计算一个数的绝对值
Math.ceil() 可以用来对一个书向上取整,小数位只要有值,就自动进1
Math.floor() 可以对一个数进行向下取整,小数部分会被舍掉
Math.round() 可以对一个数进行四舍五入取整,其他数字都是四舍五入,但.5特殊,它往大了取,1.5取成2,-1.5取-1
Math.random() 可以生成一个0-1之间的随机数(左闭右开,能取0,取不到1)
           -生成一个0-x之间的随机数Math.round(Math.random()*x)
           -生成一个x-y之间的随机数Math.floor(Math.random()*(y-x+1)+x
Math.max() 可以获取多个数中的最大值
Math.min() 可以获取多个数中的最小值
Math.pow(x,y) 返回x的y次幂
Math.sqrt()  对一个数进行开方运算

2、Date对象

在js中使用Date它是一个构造函数,所以必须要实例化后才能使用,用来处理日期和时间

2.1、创建一个Date对象

直接使用构造函数创建一个Date对象,则会封装为当前代码执行的时间

var d = new Date();
2.2、创建指定的时间对象


需要在构造函数中传递一个表示时间的字符串或数字作为参数
日期的格式三种写法:如下:

var d2 = new Date("10/23/2023 9:00:00");//字符串型
var d4 = new Date("2023-11-09 8:59:00");//字符串型
var d3 = new Date(2023, 11, 9);//数字型
2.3、时间对象的方法
getFullYear()-获取当前日期对象的年份
 getMonth() -获取当前时间对象的月份
 -会返回一个0-11的值 0表示1月,1表示2月,11表示12月,要返回的月份上+1
 getDate()-获取当前日期对象是几号(1-31)
 getDay()-获取当前日期对象是周几
 -会返回一个0-6的值,0表示周日 1表示周一,6表示周六
getHours() 获取当前小时
getMinutes() 获取当前分钟
getSeconds()获取当前秒钟

时间戳

时间戳,指的是从格林威治标准时间的1970年1月1日0时:0分:0秒到当前日期所花费的豪秒数

1s=1000ms,计算机底层在保存时间时,使用的都是时间戳,

获取时间戳

  • getTime() -获取当前日期对象的时间戳 nowTime.getTime()
  • Date.now() 获取当前代码执行时的时间的时间戳
  • nowTime.valueOf() 获取当前日期对象的时间戳
var nowTime = new Date();
//获取当前的时间戳(4种方法)
var time = +new Date();
var time1 = Date.now();//h5新增的
var time2 = nowTime.valueOf();
var time3 = nowTime.getTime();

//利用时间戳来测试代码的执行的性能
var start = Date.now();
var end = Date.now();
//   console.log("执行了" + (end - start));

2.3、基本包装类

基本数据类型:String Number Boolean Null Undefined

引用数据类型:Object

2.3.1、包装类

在js中为我们提供了三个包装类,通过这三个包装类可以基本数据类型转换为对象

String() 可以将基本数据类型字符串转换为String对象

Number() 可以将基本数据类型数字转换为Number对象

Boolean() 可以将基本数据类型布尔值转换为Boolean对象

注意:我们在实际应用中不会使用基本数据类型的对象,如果使用基本数据类型的对象,在做一些比较时,会带来一些不可预估的结果

 //创建一个Number类型的对象
 var num=new Number(3);
 var str=new String("hello");
 var bool=new Boolean(true)

 num.hello="abc你好"
 console.log(typeof num)//object
 console.log(num.hello)//abc你好

 注意:方法和属性只能添加给对象,不能添加给基本数据类型,当我们对一些基本数据类型的值去调用属性和方法时,浏览器会临时使用包装类将其转换为对象,然后再调用对象的属性跟方法调用完以后,再将其转换为基本数据类型

var s=123
s=s.toString()
console.log(s,typeof s);
2.3.2、字符串方法

(1)、length属性

可以获取字符串的长度

var str = "hello";
/* 在底层字符串是以字符数组的形式保存的 ["h","e","l","l","o"] */
console.log(str.length); //5

(2)、charAt()

可以返回字符串中指定位置的字符,根据索引获取指定的字符

var str = "hello";
var res = str.charAt(0); //h
console.log(str[0]); //h

(3)、concat()


-可以用来连接两个或者多个字符串
-作用和+一样

var str = "hello";
res = str.concat(",你好", ",再见"); //hello,你好,再见

(4)、indexof()


-该方法可以检索一个字符串中是否含有指定内容
-如果字符串中含有该内容,则会返回其第一次出现的索引,如果没有找到指定的内容,则返回-1
-可以指定第二个参数,指定开始查找的位置
 

var str = "hello";
res = str.indexOf("p"); //-1

(5)、 lastIndexOf()

-该方法的用法和indexOf()一样,不同的是lastIndexOf是从后往前找

var str = "hello";
res = str.lastIndexOf("l"); //3

 

(6)、 slice()

  • 可以从字符串中截取指定的内容
  • 不会影响原字符串,而是将截取到的内容返回
  • 参数:
    • 第一个,开始位置的索引(包括开始位置)
    • 第二个,结束位置的索引(不包括结束的位置)

如果省略第二个参数,则会截取后边所有的

也可以传递一个负数作为参数,负数的话将会从后边计算

var str = "hello";
res = str.slice(0, 2); //he

 

(7)、substring()

  • 用来截取一个字符串,跟slice()类似
  • 参数:
    • 第一个,开始位置的索引(包括开始位置)
    • 第二个,结束位置的索引(不包括结束的位置)

如果省略第二个参数,则会截取后边所有的,跟slice()不同的是这个方法不能接收负值作为参数

如果传递了一个负值,则默认使用0,而且他还会自动调整参数的位置,如果第二个参数小于第一个,则自动交换

(8)、substr()

  • 用来截取字符串
  • 参数:
    • 1:截取开始位置的索引
    • 2:截取的长度
var str = "hello";
res = str.substr(0, 3); //hel

 

(9)、 split()
● 可以将一个字符串拆分为一个数组
● 参数
○ 需要一个字符串作为参数,将会根据该字符串去拆分数组
○ 如果传递一个空串作为参数,则会将每个字符都拆分为数组中的一个元素


(10)、replace('被替换的字符','替换为的字符')
它只会替换第一个字符


(11)、 toUpperCase()
-将一个字符串转换为大写并返回

var  str = "abc,bcd,efg,hij";
res = str.toUpperCase();

(12)、 toLowerCase()

-将一个字符串转换为小写并返回

<script>
  var str = "ABCDEFG";
  res = str.toLowerCase();
  console.log(res);
</script>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值