Javascript考点
内置对象
Math
Math.<方法名>(参数);
Math.abs(x) --- 绝对
功能:返回数字 x 的绝对值。
语法:Math.abs(x)
console.log(Math.abs(-5)); // 输出 5
console.log(Math.abs(10)); // 输出 10
Math.ceil(x) --- 天花板
功能:返回大于或等于 x 的最小整数(向上取整)。
语法:Math.ceil(x)
console.log(Math.ceil(4.2)); // 输出 5
console.log(Math.ceil(-4.2)); // 输出 -4
Math.floor(x) --- 地板
功能:返回小于或等于 x 的最大整数(向下取整)。
语法:Math.floor(x)
console.log(Math.floor(4.7)); // 输出 4
console.log(Math.floor(-4.7)); // 输出 -5
Math.round(x) --- 大概
功能:返回四舍五入后的整数。
语法:Math.round(x)
console.log(Math.round(4.5)); // 输出 5
console.log(Math.round(4.4)); // 输出 4
Math.max(x, y, ...) ---max
功能:返回一组数中的最大值。
语法:Math.max(a, b, c, ...)
console.log(Math.max(1, 2, 3, 4)); // 输出 4
console.log(Math.max(-1, -2, -3)); // 输出 -1
Math.min(x, y, ...) ---min
功能:返回一组数中的最小值。
语法:Math.min(a, b, c, ...)
console.log(Math.min(1, 2, 3, 4)); // 输出 1
console.log(Math.min(-1, -2, -3)); // 输出 -3
Math.random() ---random
功能:返回一个 0到1 之间的随机浮动数(包括 0,但不包括 1)。
语法:Math.random()
console.log(Math.random()); // 输出一个随机数,例如 0.7623
Math.pow(x, y) ---pow
功能:返回 x 的 y 次幂,即 x^y。
语法:Math.pow(x, y)
console.log(Math.pow(2, 3)); // 输出 8,因为 2^3 = 8
console.log(Math.pow(3, 2)); // 输出 9,因为 3^2 = 9
Math.sqrt(x)
功能:返回 x 的平方根。
语法:Math.sqrt(x)
console.log(Math.sqrt(9)); // 输出 3,因为 9 的平方根是 3
console.log(Math.sqrt(16)); // 输出 4,因为 16 的平方根是 4
Math.sin(x)、Math.cos(x)、Math.tan(x)
功能:分别返回 x 的正弦、余弦和正切值。参数 x 必须是弧度制。
语法:
Math.sin(x)
Math.cos(x)
Math.tan(x)
console.log(Math.sin(Math.PI / 2)); // 输出 1,π/2 的正弦值是 1 //PI是Π
console.log(Math.cos(Math.PI)); // 输出 -1,π 的余弦值是 -1
console.log(Math.tan(Math.PI / 4)); // 输出 1,π/4 的正切值是 1
Math.log(x)
功能:返回 x 的自然对数(以 e 为底)。
语法:Math.log(x)
console.log(Math.log(10)); // 输出 2.302585092994046,因为 ln(10) ≈ 2.302
Math.exp(x) ---e的X pow
功能:返回 e 的 x 次幂(自然对数的底 e,约为 2.718)。
语法:Math.exp(x)
console.log(Math.exp(1)); // 输出 2.718281828459045,因为 e^1 ≈ 2.718
常用的 Math 常量
(1)Math.PI
功能:表示圆周率 π(大约 3.14159)。
语法:Math.PI
console.log(Math.PI); // 输出 3.141592653589793
(2) Math.E
功能:表示自然对数的底数 e(大约 2.718)。
语法:Math.E
console.log(Math.E); // 输出 2.718281828459045
(3) Math.LN2
功能:表示 2 的自然对数(大约 0.693)。
语法:Math.LN2
console.log(Math.LN2); // 输出 0.6931471805599453
(4) Math.LN10
功能:表示 10 的自然对数(大约 2.302)。
语法:Math.LN10
console.log(Math.LN10); // 输出 2.302585092994046
(5) Math.SQRT2
功能:表示 2 的平方根(大约 1.414)。
语法:Math.SQRT2
console.log(Math.SQRT2); // 输出 1.4142135623730951
(6) Math.SQRT1_2
功能:表示 1/2 的平方根(大约 0.707)。
语法:Math.SQRT1_2
console.log(Math.SQRT1_2); // 输出 0.7071067811865476
(7) Math.LOG2E
功能:表示 e 的对数,以 2 为底(大约 1.442)。
语法:Math.LOG2E
console.log(Math.LOG2E); // 输出 1.4426950408889634
Date
在 JavaScript 中,Date 对象用于处理和操作日期和时间。它是一个非常强大的工具,能够帮助你获取当前时间、格式化日期、比较日期等。
创建 Date 对象
(1) 创建当前日期和时间
const now = new Date();
console.log(now); // 输出当前的日期和时间,Sun Nov 10 2024 20:54:08 GMT+0800 (中国标准时间)
这种方式不传参数,返回当前的日期和时间。
(2) 创建指定日期和时间
1.使用日期字符串:
const date1 = new Date("2024-11-10");
console.log(date1); // 输出 2024-11-10T00:00:00.000Z
2.使用年月日(不带时间):--->数组下标规则
const date2 = new Date(2024, 10, 10); // 注意:月份从 0 开始,10 表示 11 月
console.log(date2); // 输出 2024-11-10T00:00:00.000Z
3.使用年月日时分秒:
const date3 = new Date(2024, 10, 10, 12, 30, 0);
console.log(date3); // 输出 2024-11-10T12:30:00.000Z
4.使用时间戳:
!!!有点懵
const date4 = new Date(1699680000000); // 时间戳单位为毫秒
console.log(date4); // 输出对应的日期,例如 2024-11-10T00:00:00.000Z
获取和设置日期和时间的各个部分
获取年、月、日、小时、分钟、秒等
getFullYear():获取四位年份(例如 2024)。
getMonth():获取月份(0-11,0 代表 1 月,11 代表 12 月)。
getDate():获取日期(1-31 !!!!)。
getDay():获取星期几(0-6,0 代表星期日,6 代表星期六)。
getHours():获取小时(0-23)。
getMinutes():获取分钟(0-59)。
getSeconds():获取秒(0-59)。
getMilliseconds():获取毫秒(0-999)。
const date = new Date("2024-11-10T12:30:00");
console.log(date.getFullYear()); // 输出 2024
console.log(date.getMonth()); // 输出 10 (表示 11 月)
console.log(date.getDate()); // 输出 10
console.log(date.getDay()); // 输出 0 (星期日)
console.log(date.getHours()); // 输出 12
console.log(date.getMinutes()); // 输出 30
console.log(date.getSeconds()); // 输出 0
console.log(date.getMilliseconds());// 输出 0
设置年、月、日、小时、分钟、秒等
setFullYear(year):设置年份。
setMonth(month):设置月份(0-11)。
setDate(date):设置日期(1-31)。
setHours(hour):设置小时(0-23)。
setMinutes(minute):设置分钟(0-59)。
setSeconds(second):设置秒(0-59)。
setMilliseconds(milliseconds):设置毫秒(0-999)。
const date = new Date();
date.setFullYear(2025);
date.setMonth(0); // 设置为 1 月
date.setDate(15); // 设置日期为 15
console.log(date); // 输出类似 2025-01-15T... 的日期
日期的比较[时间戳比较]
你可以通过比较两个 Date 对象来判断它们的先后关系。
比较时间戳:使用 getTime() 方法获取时间戳,然后直接进行比较。
const date1 = new Date("2024-11-10");
const date2 = new Date("2025-11-10");
if (date1.getTime() < date2.getTime()) {
console.log("date1 is earlier than date2");
} else {
console.log("date1 is later than or the same as date2");
}
日期格式化 --掌握一两个就好
JavaScript 中的 Date对象本身没有内建的格式化方法(即没有像 toString("yyyy-MM-dd") 这样的功能),但你可以使用一些方法将日期转为字符串。
toDateString()
将日期转换为易读的格式(去掉时间部分)。
const date = new Date("2024-11-10T12:30:00");
console.log(date.toDateString()); // Sun Nov 10 2024
toTimeString() --->好棒!!
将时间转换为易读的时间格式。
const date = new Date("2024-11-10T12:30:00");
console.log(date.toTimeString()); // 12:30:00 GMT+0800 (中国标准时间)
toISOString()
返回 ISO 格式的字符串,通常用于API 传输。
const date = new Date("2024-11-10T12:30:00");
console.log(date.toISOString()); // 2024-11-10T04:30:00.000Z
toLocaleString() --好棒!!
返回本地化的日期和时间字符串,格式根据浏览器的语言环境而有所不同。
const date = new Date("2024-11-10T12:30:00");
console.log(date.toLocaleString()); // 2024/11/10 12:30:00
日期的加减
JavaScript Date 对象没有直接支持加减日期的方法,但你可以通过设置日期的各个部分来手动实现。
增加天数
const date = new Date("2024-11-10");
date.setDate(date.getDate() + 5); // 增加 5 天
console.log(date); // Fri Nov 15 2024 08:00:00 GMT+0800 (中国标准时间)
console.log(date.toLocaleString()); //2024/11/15 08:00:00
减少天数
const date = new Date("2024-11-10");
date.setDate(date.getDate() - 5); // 减少 5 天
console.log(date); // 输出 2024-11-05
增加月份
const date = new Date("2024-11-10");
date.setMonth(date.getMonth() + 2); // 增加 2 个月
console.log(date); // 输出 2025-01-10
增加年份
const date = new Date("2024-11-10");
date.setFullYear(date.getFullYear() + 1); // 增加 1 年
console.log(date); // 输出 2025-11-10
日期和时间戳
- 你可以通过 getTime() 方法获取一个 Date 对象的时间戳
const date = new Date();
console.log(date.getTime()); // 输出当前时间的时间戳,例如 1678502399973
- 你还可以通过 Date.now() 获取当前的时间戳:
console.log(Date.now()); // 输出当前时间的时间戳
总结
Date 对象是 JavaScript 中非常重要的一个工具,能够帮助你处理日期和时间。
通过它,你可以:
获取和设置日期、时间的各个部分(如年、月、日、时、分、秒等)。
比较不同日期之间的大小。
格式化日期为字符串。
计算日期的加减。
获取和转换为时间戳。
Array
//1.find()
const arry1 = [5,12,8,130,44];
const found = arry1.find(a => a > 10);
// 这一行使用了find方法,它是JavaScript数组对象的一个方法,用于找出第一个满足提供的测试函数的元素。
// find()的箭头函数:变量名 => 条件【满足条件返回它所找到的第一个值,不满足返回undefined】
console.log(found);//[12]
//2.filter()
const arry1 = [5, 12, 8, 130, 44];
const filtered = arry1.filter(element => element > 10); // 返回所有大于10的元素组成的新数组
console.log(typeof filtered); // object--->数组是特殊的对象
console.log(filtered); // [12,130,44]
console.log(Array.isArray(filtered)); // true
// 返回一个新数组,包含所有满足条件的元素,没有就返回空数组。
// 3.include()
const array = [1, 2, 3, 4, 5];
if (array.includes(3&&4)) { // 检查数组是否包含元素3
console.log('数组包含元素 3和4');
} else {
console.log('数组不包含元素 3或4');
}
// 检查数组里有没有相应的值
//4.Array.isArray()
console.log(Array.isArray(变量)); // true
//检查是不是Array类型
//5.push()
const arr = [1, 2, 3]
arr.push(8)
console.log(arr) // [1, 2, 3, 8]
//在数组后面添加数字
//6.pop()
const arr = [1, 2, 3]
const popVal = arr.pop()//移除arr里最后一个元素,并返回它给popVal
console.log(popVal) // 3 -->被移走的元素
console.log(arr) // [1, 2]
//栈 -->
// ① 数组模拟常见数据结构之一:栈
const stack = [0, 1]
stack.push(2) // 压栈
console.log(stack) // [0, 1, 2]
const popValue = stack.pop() // 出栈
console.log(popValue) // 2
console.log(stack) // [0, 1]
//7.unshift()
const arr = [1, 2, 3]
arr.unshift(0)
console.log(arr) // [0, 1, 2, 3]
//8.shift()
const arr = [1, 2, 3]
const shiftVal = arr.shift()--移除arr里第一一个元素,并返回它给shiftVal
console.log(shiftVal) // 1 -->被移走的元素
console.log(arr) // [2, 3]
// ②数组模拟常见数据结构之一:队列
const queue = [0, 1]
queue.push(2) // 入队
console.log(queue) // [0, 1, 2]
const shiftValue = queue.shift() // 出队
console.log(shiftValue) // 0
console.log(queue) // [1, 2]
//9.concat()
const arr = [1, 2, 3]
const arr2 = arr.concat([7, 8, 9])
console.log(arr) // [1, 2, 3]
console.log(arr2) // [1, 2, 3, 7, 8, 9]
//把concat括号里的内容放到原数组的后面
//10.ndexof()
const arr = [1, 2, 3]
console.log(arr.indexOf(2)) // 1
console.log(arr.indexOf(-1)) // -1
// 在数组中寻找该值,找到则返回其下标,找不到则返回-1。
//11.join()
const arr = [1, 2, 3]
console.log(arr.join()) // ‘1, 2, 3’//将数组转化成字符串,并返回该字符串,不传值则默认逗号隔开,
console.log(arr) // [1, 2, 3]//原数组不变。
// 将数组转化成字符串,并返回该字符串,不传值则默认逗号隔开,原数组不变。
let fruits = ["Apple", "Banana", "Cherry"];
let result = fruits.join(", "); // 使用逗号和空格作为分隔符
//12.reverse()
console.log(result); // 输出: Apple, Banana, Cherry
const arr = [1, 2, 3]
console.log(arr.reverse()) // [3, 2, 1]
console.log(arr) // [3, 2, 1]
// 翻转原数组,并返回已完成翻转的数组,原数组改变。
13. slice(start,end)
const arr = [1, 2, 3, 4, 5]
console.log(arr.slice(1, 4)) // [2, 3, 4]
//角标为1 --- 角标为3
console.log(arr) // [1, 2, 3, 4, 5]
// 从start 开始截取到end,但是不包括end
//14.splice(index1,index2,new1,new2,new3.....)
const arr3 = [1, 2, 3, 4, 5, 6, 7, "f1", "f2"];
const arr4 = arr3.splice(2, 3)
console.log(arr4); // [3, 4, 5];
console.log(arr3); // [1, 2, 6, 7, "f1", "f2"];
const arr5 = arr3.splice(2, 0, "wu", "leon"); //插入的元素在选定下标位置前面
console.log(arr5); // [] 返回空数组
console.log(arr3); // [1, 2, "wu", "leon", 6, 7, "f1", "f2"];
const arr6 = arr3.splice(2, 3, "xiao", "long");
console.log(arr6); // ["wu", "leon", 6]
console.log(arr3); //[ 1, 2, "xiao", "long", 7, "f1", "f2"]
const arr7 = arr3.splice(2);
console.log(arr7);// ["xiao", "long", 7, "f1", "f2"]
console.log(arr3); // [1, 2]
原数组删除从下标index1开始num个元素【包括端点】,如果需要被删元素,将它存到新的变量里就好
p.s.如果num不写,默认删光下标开始所有元素
//15.sort((a, b) => a - b)--从小到大
//15.sort((a, b) => b - a)--从大到小
const arr = [1, 4, 3]
arr.sort((a, b) => b - a)
console.log(arr) // [4, 3, 1]
const arrplus = [1, 4, 3]
arrplus.sort((a, b) => a - b)
console.log(arrplus) // [1, 3, 4]
//16.tostring()
const arr = [1, 2, 3, 4, 5]
console.log(arr.toString()) // ‘1, 2, 3, 4, 5’
console.log(arr) // [1, 2, 3, 4, 5]
将数组变成字符串 将数组转化成字符串,并返回该字符串,**逗号**隔开,原数组不变。
String
//1.charAt
var father = 'abcdefg'
let son = father.charAt(2)
console.log(son) // 输出 'c'
console.log(father[3]) // 输出 'd'
// 返回指定索引位置处的字符。类似于数组用中括号获取相应下标位置的数据。
//2.concat()
const str1 = 'abcdefg'
const str2 = '1234567'
const str3 = str1.concat(str2)
console.log(str3) // 输出 'abcdefg1234567'
// 类似数组的concat(),用来返回一个合并拼接两个或两个以上字符串。原字符串不变。
//3.indexOf() lastIndexOf()
const str = 'abcdcefcg'
console.log(str.indexOf('c')) // '2'
console.log(str.lastIndexOf('c')) // '7'
// indexOf,返回一个字符在字符串中首次出现的位置,
// lastIndexOf返回一个字符在字符串中最后一次出现的位置。
//4.slice(index,endIndex) --->endl:截至位置下标
const str = 'abcdefg'
console.log(str.slice()) // 'abcdefg'
console.log(str.slice(1)) // 'bcdefg'
console.log(str.slice(2, str.length-1)) // 'cdef'
//5.split()
const str = 'A*B*C*D*E*F*G'
console.log(str.split('*')) // ["A", "B", "C", "D", "E", "F", "G"]
const str1 = 'ABC*DEF*G'
console.log(str1.split('*')) // ['ABC', 'DEF', 'G']
// 使用指定的分隔符将一个字符串拆分为多个子字符串数组并返回,原字符串不变。
//6.substr(index)-->从index开始,后面都砍掉
//6.substr(index, length)-->从index开始,长度为length删掉
const str = 'ABCDEFGHIJKLMN'
console.log(str.substr(2)) // 'CDEFGHIJKLMN'
console.log(str.substr(2, 9)) //'CDEFGHIJK'
// substr的参数二如果为0或者负数,则返回一个空字符串,如果未填入,则会截取到字符串的结尾去。substring的参数一和参数二为NAN或者负数,那么它将被替换为0。
//7.substring(index,newIndex)-->从index开始,newIndex截至【不包括newIndex】
//7.substring(index)-->从index开始,后面都砍掉
const str = 'ABCDEFGHIJKLMN'
console.log(str.substring(2)) //'CDEFGHIJKLMN'
console.log(str.substring(2, 9)) //'CDEFGHI'
//8.match()
const str = '2018年结束了,2019年开始了'
const reg = /\d+/g // 这里是定义匹配规则,匹配字符串里的1到多个数字
// /\d+/g 是一个全局正则表达式,\d 匹配任何数字(等价于 [0-9]),+ 表示匹配一次或多次。g 标志代表全局匹配
console.log(str.match(reg)) // 输出符合匹配规则的内容,以数组形式返回 ['2018', '2019']
console.log(str.match('年')) // 不使用正则 ["20", index: 4, input: "2018年结束了,2019年开始了"]
console.log(str.match('20')) // 不使用正则 ["20", index: 0, input: "2018年结束了,2019年开始了"]
// 当你传递一个字符串(而不是正则表达式)给 match() 方法时,它会返回第一个与该字符串匹配的子串的信息。返回值是一个数组,其中第一个元素是匹配的子串,index 属性是匹配子串在原字符串中的位置,input 属性是原字符串本身。
//9.search(number)
const str = '2018年结束了,2019年开始了,2020年就也不远了'
const reg = /\d+/i // 这里是定义匹配规则,匹配字符串里的1到多个数字
console.log(str.search(reg)) // 输出 0 这里搜索到的第一项是从位置0开始的
//10.toLowerCase(变量名) -->全转小写
//10.toUpperCase(变量名) -->全转大写
const str1 = 'A!cd1fg'
const str2 = 'aBCDEFG'
console.log(str2.toLowerCase()) // 'abcdefg'
console.log(str1.toUpperCase()) // 'A!CD1FG'
// 数字,特殊符号不变
// 11.includes('X')
// 11.startsWith('X')
// 11.endsWith('X')
const str = 'Excuse me, how do I get to park road?'
console.log(str.includes('how')) // true
console.log(str.startsWith('Excuse')) // true
console.log(str.endsWith('?')) // true
//包含X? 以X为开头? 以X为结尾?
//12.repear(times)
const str = 'http'
const str2 = str.repeat(3)
console.log(str) // 输出:'http'
console.log(str2) // 输出:'httphttphttp'
//重复次数
//13.replace()
const str = '2018年结束了,2019年开始了,2020年就也不远了'
const rex = /\d+/g
const str1 = str.replace(rex, '****')
console.log(str1) // "****年结束了,****年开始了,****年也不远了"
const str2 = str.replace(rex, function(item){
console.log(arguments)
const arr = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖']
let newStr = ''
item.split('').map(function(i){
newStr += arr[i]
})
return newStr
})
console.log(str2) //贰零壹捌年结束了,贰零壹玖年开始了,贰零贰零年也不远了
标签:arr,内置,console,log,js,date,const,Math,函数
From: https://www.cnblogs.com/GJ504b/p/18538542