JS内置对象
对象分三种:自定义对象,内置对象,浏览器对象
1. 自定义对象和内置对象是基础ECMAScript 第三个是JS独有,JSAPI。
查询文档
- 先查阅该方法的功能
- 参阅参数的意义和类型
- 查看返回值得意义和类型
- 通过demo进行测试
Math对象
Math
Math不是构造函数,可以直接用不用new
Math常见属性及方法
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
// alert(Math.PI);
// alert(Math.max(1, 2, 33, 4, 445));
// alert(Math.max('123a', 123)); //返回NaN
// alert(Math.max()); //返回-Infinity
// console.log(Math.abs(-123)); //求绝对值
// console.log(Math.floor(15.8)); //向下取整
// console.log(Math.floor(-15.8));
// console.log(Math.ceil(15.2)); //向上取整
// console.log(Math.ceil(-15.2));
// console.log(Math.round(15.5)); //四舍五入 -3.5是-3
//随机数Math.random()
console.log(Math.random()); //返回随机小数0 <= x <1
</script>
</head>
<body>
</body>
</html>
Math.randam()随机数
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
// 1. 案例封装自己的对象
// var myMath = {
// PI: 3.1415962535,
// max: function () {
// var max = arguments[0]
// for (var i = 1; i < arguments.length; i++) {
// if (arguments[i] > max) {
// max = arguments[i];
// }
// }
// return max;
// },
// min: function () {
// var min = arguments[0];
// for (var i = 1; i < arguments.length; i++) {
// if (arguments[i] < min) {
// min = arguments[i];
// }
// }
// return min;
// }
// }
// console.log(myMath.PI);
// console.log(myMath.max(1, 2, 3, 333, 444));
//2. 取得两个数之间的随机数
function getRandomInt(min, max) {
min = Math.ceil(min);
max = Math.floor(max);
return Math.floor(Math.random() * (max - min)) + min; //不含最大值,含最小值
}
console.log(getRandomInt(5, 10));
//3. (重点)得到一个两数之间的随机整数,包括两个数在内
function getRandom(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min; //含最大值,含最小值
}
console.log(getRandom(5, 10));
//4. 随机点名
var arr = ["杨渌", "张长旭", "张三", "李四", "王五"];
// Math.floor(Math.random() * (arr.length));
// 取0到arr.length(不含)的数整数
console.log(arr[getRandom(0, arr.length - 1)]);
</script>
</head>
<body>
</body>
</html>
日期对象Date
Date()是一个构造函数需要new
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
// 1. 使用Date如果没有参数返回系统当前时间
var date = new Date();
// alert(date);
//2. 参数常见写法a.数字型 2019,10,1 字符串型 "2019-10-1 8:8:8"
var date1 = new Date(2021, 9, 11);
// console.log(date1); //返回10月
var date2 = new Date("2019-10-1 8:8:8");
// console.log(date2);
//3. 方法
var date3 = new Date();
//返回当前时间的年
console.log(date3.getFullYear());
// 返回月份(返回0-11月,记得+1)
console.log(date3.getMonth());
//返回日子
console.log(date3.getDate());
//星期几(周日返回0)
console.log(date3.getDay());
//小时
console.log(date3.getHours());
//分钟
console.log(date3.getMinutes());
//秒
console.log(date3.getSeconds());
// 写一个2021年9月11日 星期三
var year = date3.getFullYear();
var month = date3.getMonth() + 1;
var dates = date3.getDate();
var days = date3.getDay();
var arr = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'];
console.log("今天是" + year + "年" + month + "月" + dates + "日\t" + arr[days]);
//写一个时分秒
var h = date3.getHours();
h = h < 10 ? '0' + h : h;
var m = date3.getMinutes();
m = m < 10 ? '0' + m : m;
var s = date3.getSeconds();
s = s < 10 ? '0' + s : s;
console.log(h + ':' + m + ":" + s);
console.log("____________________");
//获取日期的总的毫秒数从1970.1.1开始算(毫秒)时间戳
//1. 通过valueOF() 或getTime()
console.log(date3.valueOf());
console.log(date3.getTime());
//2. 简单方法(最常用)
var date4 = +new Date();
console.log(date4);
//3 . H5新增总毫秒数
console.log(Date.now());
</script>
<body>
</body>
</html>
数组
创建数组
//1. 字面量创建
var arr = [1, 2, 3, 4];
//2. new Array()创建空数组
var arr1 = new Array();
检测元素是否为数组
//3. 检测是否为数组的两种方式
var arr = [];
console.log(arr instanceof Array); //返回True
console.log(Array.isArray(arr));//返回True
添加删除数组元素
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
//1. 字面量创建
var arr = [1, 2, 3, 4];
//2. new Array()创建空数组
var arr1 = new Array();
//3. 检测是否为数组的两种方式
var arr = [];
console.log(arr instanceof Array); //返回True
console.log(Array.isArray(arr));//返回True
//4. 添加删除数组的元素
//1. push()在数组末尾添加一个或多个数组元素(修改原数组)返回新数组长度
var arr1 = [1, 2, 3, 4];
console.log(arr1.push(3, 4, 5, 'zcx'));
console.log(arr1);
//2. unshift()在数组开头添加一个或多个元素(修改原数组)
console.log(arr1.unshift("yl", "yl"));
console.log(arr1);
//3. pop()删除数组的最后一个元素(返回删除元素)
console.log("------------------");
console.log(arr1);
console.log(arr1.pop());
console.log(arr1);
//4. shift()删除数组的第一个元素(返回删除元素)
console.log(arr1);
console.log(arr1.shift());
console.log(arr1);
//5. 返回数组元素索引号方法(只返回第一个满足条件的索引号)
var arr = [123, 1, 23, 4, 223, 442, 1, 2];
// 若无符合条件就是返回—1
console.log(arr.indexOf(223)); //返回4
//5. 返回数组元素索引号方法(只返回最后一个满足条件的索引号)
console.log(arr.lastIndexOf(1)); //返回6
//6. 将数组装换成字符串
console.log(arr.toString());//以逗号分割
console.log(arr.join('?'));//以()中分隔符分割
</script>
</head>
<body>
</body>
</html>
字符串对象
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
// 基本包装类型
var temp = new String("zcx");
var name = temp;
temp = null;
// 简单数据类型包装成了复杂数据类型
//js三种特殊的引用类型String Number Boolean
//2. 字符串的不可变性(字符串中值不会改变,只会新生成,生成后变量名指向新串)
//3. 字符串对象 根据字符返回位置 str.indexOf("要查找的字符"[,起始位置])
var str = "qwertyuio";
console.log(str.indexOf('t'));
//4 .根据位置返回字符
//1. charAt()
console.log(str.charAt(3));
//2. 返回相应索引号字符的ASCII码值
console.log(str.charCodeAt(1));
//3. 获取指定位置字符H5新增
console.log(str[3]);
//5. 字符串操作方法
//1. concat(str1,str2,strn)用于拼接多个字符串== +
//2. substr(start,length)从start开始取length个
//3. slice(start,end)从Start开始到end(不含)索引号
//4. substring(start,end) 从start开始到end 与slice相同但是不接受负值。
</script>
</head>
<body>
</body>
</html>
字符串替换字符
//6. 替换字符(只替换第一个)
var str = "zcxzcx";
console.log(str.replace("z", "q"));
//多次替换
var str1 = "asdasdasdsss";
while (str1.indexOf("s") != -1) {
str1 = str1.replace('s', '*')
}
console.log(str1);
字符串与数组互相转换
//7. 将字符串转换为数组
var str2 = "red,pink,zcx,blue";
console.log(str2.split(",")); //['red', 'pink', 'zcx', 'blue']
//8.相反的将数组转化成自付出啊
var arr = [1, 23, "queueMicrotask", 1,];
console.log(arr.join("|"));
console.log(arr.toString());