1、内置对象介绍
JavaScript
组成: ECMAScript | DOM | BOM
ECMAScript:
变量 , 函数, 数据类型 ,流程控制,内置对象
js中的对象: 自定义对象 , 内置对象 , 浏览器对象(不属于ECMAScript)
1.1 Math对象
提供了一系列与数学相关的方法或属性 ( 静态 | 实例)
1.2 Math中的方法
Math,PI
--- 获取圆周率Math.random()
--- 返回大于等于0小于1之间的随机数
灵活使用:
a:求两个数的随机数,并包含这两个数:
Math.floor( Math.random() * (max - min + 1) + min );
例子:求 1 到 10之间的随机整数[包括1和10]
function getRondom(min, max) { return Math.floor(Math.random() * (max - min + 1) + min); } var i = getRondom(1,10); console.log(i);
b:当想要进行随机排序时,即可使用:
Math.random()- 0.5 精度利用这个弱点 会进行随机排序
例子:随机排序
var arr1 = ["鹿晗", "王俊凯", "蔡徐坤", "彭于晏", "周杰伦", "刘德华", "赵本山"]; arr1.sort(function(){ return Math.random() - 0.5; }); console.log(arr1);
Math.floor()
--- 向下取整,返回一个小于当前数字的整数Math.ceil()
--- 向上取整,返回一个大于当前数字的整数Math.round()
--- 四舍五入
特殊情况:
console.log(Math.round(-1.5))//结果为-1
Math.abs()
--- 取绝对值(返回当前数字的绝对值,正整数)
console.log(Math.abs("1")); //隐式转换 会把字符串1 转换成数字型 console.log(Math.abs("fanfan")); //NaN
Math.max()
--- 返回一组数中的最大值 (可以设置多个参数,返回其中最大值,参数不可以是数组)
console.log(Math.max(1,4,8,35,"fanfan")); //NaN console.log(Math.max()); //-Infinity
Math.min()
--- 返回一组数中的最小值 (可以同时设置多个参数,与最大值效果一样)
console.log(Math.min()); //Infinity
Math.sin(x)
Math.cos(x)
Math.tan(x)
Math.pow(x,y)
--- 返回x的y次幂
1.3 Date对象
用法一:空构造函数
var d = new Date(); //如果没有参数 返回当前系统的当前时间
用法二:传入日期格式的字符串
var d = new Date("1988-8-8 8:8:8")
用法三: 传入数字
var d = new Date(year, month[day,time,second]); //必须设置年和月 中括号内的为选填项
注意:月份从0开始,0代表1月
var date1 = new Date(2019, 10, 01); //实际是2019年11月1日
获取当前时间的毫秒值:(距离1970 年 1 月 1 日的毫秒数)
写法一:
d.valueOf() d.getTime() // 推荐使用
//获取当前的毫秒值 var date = new Date(); console.log(date.valueOf()); console.log(date.getTime());
写法二:(最常用)
var date1 = +new Date(); // +new Date() 返回的就是总的毫秒数
写法三:
Date.now() //H5 新方法 有兼容性
2、Date中的方法
var d = new Date();
--- 日期格式化方法d.getSeconds()
//获取秒d.getMinutes()
//获取分钟d.getHours()
//获取小时d.getDay()
//没有参数时 返回当前周几 (0表示周日)0-6
获取星期几的方法:
var arr = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六']; var day = date.getDay(); console.log(arr[day]);
d.getDate()
//没有参数时 返回当前日-
d.getMonth()
//没有参数时 返回当前月份 (从0开始)0-11 d.getFullYear()
//没有参数时 返回当前年份d.toString();
//转化成字符串d.toDateString();
//转换成日期字符串-
d.toTimeString();
//转换成时间字符串 d.toLocaleDateString();
//返回本地的日期格式 (不同浏览器不同效果)d.toLocaleTimeString();
//返回本地的时间格式 (不同浏览器不同效果)
3、经典案例:倒计时效果:
function countTime(time) { var nowTime = +new Date(); console.log(nowTime); var timer = +new Date(time); console.log(timer); var times = (timer - nowTime) / 1000; 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 + "秒" } var i = countTime("2021-11-11 18:00:00"); console.log(i);
4、Array数组对象
4.1 数组的创建
利用数组字面量:
var arr = [1,2,3];
利用new Array():
var arr1 = new Array(); //创建一个空的数组
var arr1 = new Array(2); //这个2 表示 数组的长度为 2 里面有2个空的数组元素var arr1 = new Array(2,3); // 等价于 [2,3] 这样写表示 里面有2个数组元素 是 2和3
4.2 数组中的常用方法
判断变量是不是一个数组:
Array.isArray(ary)
//H5新增属性 ie9以上版本支持- 参数
instanceof Array
toString()
--- 把数组转换为字符串,使用逗号分隔
valueOf()
--- 返回数组对象本身
ary.pop()
[常用] --- 删除数组中最后一个字,且会修改数组的长度 注意:()内不跟参数
ary.shift()
--- 删除数组中的第一个元素,修改数组的长度 注意:()内不跟参数
ary.push()
[常用] --- 该方法有一个返回值,表示数组最新的长度,该方法中可以设置多个参数 在数组末尾添加一个或者多个
ary.unshift()
--- 在数组中最开始位置添加一个值
reverse()
--- 翻转数组
indexOf(content[,index])
--- 返回数组元素索引的方法 从前查找,它只返回第一个满足条件的索引号
lastIndexOf()
--- 从数组的末尾开始找,如果找到,返回索引位置,如果没有找到返回-1
join(分隔符)
--- 将数组中的每一个元素通过一个字符链接到一块(数组转字符串) 改变字符间的分隔符, 默认是","
排序:
arr.sort()
--- 按照个位数字排序 sort(function(){})
arr.sort(function(a,b){ return a-b; //升序 }) arr.sort(function(a,b){ return b-a; //降序 })
concat()
--- 把两个数组拼接到一块,返回一个新数组
slice(startindex, endindex)
--- 从当前数组中截取一个新的数组 第一个参数表示开始索引位置,第二个参数代表结束索引位置
splice(startindex, deletCont, options)
--- 删除或者替换数组中的某些值
第一个参数代表从哪开始删除
第二个参数代表一共删除几个
第三个参数代表要替换的值
5、字符串String
1、charAt(index) --- 获取指定位置处的字符
2、str[index] --- 获取指定位置的字符 (H5中的方法)
3、charCodeAt(index) --- 返回相应索引号的字符ASCII值 判断用户按下了哪个键
4、concat() --- 拼接字符串 等效于 +
5、slice(strat,end) --- 从指定位置开始,截取字符串到结束位置,end值取不
6、substring(start,end) --- 从指定位置开始,截取字符串到结束位置, end值取不到,start能取到
7、substr('截取的起始位置', '截取几个字符') //从指定位置开始,截取length长度个字符
8、indexOf(字符) --- 返回字符在字符串中的位置【首次】
9、lastIndexOf(字符) --- 从后往前找,只找第一个匹配的字符【尾次】
10、trim() --- 只能去除字符串前后空白
11、toLocaleUpperCase() //转化为大写
toLocaleLowerCase() //转化为小写12、replace(a,b) --- 用b替换a
split() --- 以一个分割符,将一个字符串串分割成一个数组(字符串转数组)
到此这篇关于Javascript基础知识中关于内置对象的知识的文章就介绍到这了,更多相关Javascript内置对象介绍内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!