一、date
如何使用、如何获取年月日时分秒、时间戳、如何获取指定日期的时间戳或周几
1..Date 对象用于处理日期和时间。
创建 Date 对象的语法:
var myDate=new Date()
获取年月日时分秒:
// 格式化日对象 const getNowDate = () => { let date = new Date(); let sign2 = ":"; let year = date.getFullYear() // 年 let month = date.getMonth() + 1; // 月 let day = date.getDate(); // 日 let hour = date.getHours(); // 时 let minutes = date.getMinutes(); // 分 let seconds = date.getSeconds() //秒 let weekArr = ['星期一', '星期二', '星期三', '星期四', '星期五', '星期六', '星期天']; let week = weekArr[date.getDay()]; // 给一位数的数据前面加 “0” if (month >= 1 && month <= 9) { month = "0" + month; } if (day >= 0 && day <= 9) { day = "0" + day; } if (hour >= 0 && hour <= 9) { hour = "0" + hour; } if (minutes >= 0 && minutes <= 9) { minutes = "0" + minutes; } if (seconds >= 0 && seconds <= 9) { seconds = "0" + seconds; } return year + "-" + month + "-" + day + " " + hour + sign2 + minutes + sign2 + seconds; } console.log("当前日期"+getNowDate());
获取时间戳:
new date.getTime()
获取指定日期的星期:
// 获取指定日期的星期 let nowDate = new Date("2023-11-11") let today = nowDate.getDay() let weekDays = ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"]; console.log(weekDays[today]);//星期六
获取指定日期的时间戳:
let dates = new Date console.log(dates.getTime());
二、对象
增、删、浅拷贝深拷贝
增
直接使用 直接变量名.属性名 = 属性值
删
使用 delete
深拷贝和浅拷贝
浅拷贝(shallow copy):只复制指向某个对象的指针,而不复制这个对象本身,新旧对象共享一块内存
深拷贝(deep copy):复制并创建一个一模一样的对象,不共享内存,修改新对象旧对象不会改变
三、布尔值
真值:true
假值:false
四、常用事件
详见:js常用事件总结
五、字符串
详见:js字符串相关操作及方法
六、运算符
七、语句
if、for、三元表达式、了解(switch、while)、break、continue作用
if语句
// 1. 条件成立执行的代码语句 if (条件表达式) { } // 2.if else 语句 if (条件表达式) { // [如果] 条件成立执行的代码 } else { // [否则] 执行的代码 } // 3. if else if 语句(多分支语句) // 适合于检查多重条件。 if (条件表达式 1) { // [如果] 条件一成立执行的代码 } else if (条件表达式 2) { // [如果] 条件二成立执行的代码 } else if (条件表达式 3) { // [如果] 条件三成立执行的代码 } else { // 上述条件都不成立执行此处代码 }
三元表达式
// 如果条件 1 为 true ,则返回成立 2 的值 // 如果条件 1 为 false,则返回不成立 3 的值 条件 1 ? 成立 2 : 不成立 3;
swith条件分支语句
switch( 表达式 ){ case value1: // 表达式 等于 value1 时要执行的代码 break; case value2: // 表达式 等于 value2 时要执行的代码 break; default: // 表达式 不等于任何一个 value 时要执行的代码 }
for语句
for(初始化变量①; 条件表达式②; 操作表达式③ ){ // 循环体④ }
1. 初始化变量,初始化操作在整个 for 循环只会执行一次。
2. 执行条件表达式,如果为 true,则执行循环体语句,否则退出循环,循环结束。
3. 执行操作表达式,此时第一轮结束。
4. 第二轮开始,直接去执行条件表达式(不再初始化变量),如果为 true,则去执行循环体
语句,否则退出循环。
5. 继续执行操作表达式,第二轮结束。......
while 循环
while (条件表达式) { // 循环体代码 } // 1. 先执行条件表达式,如果结果为 true,则执行循环体代码; // 如果为 false,则退出循环,执行后面代码 // 2. 执行循环体代码 // 3. 循环体代码执行完毕后,程序会继续判断执行条件表达式
break、continue的作用
continue 关键字用于跳出本次循环,继续下一次循环。
break 关键字用于立即跳出整个循环,使循环结束。
八、调试
除console.log()意外的调试方法:
console.table(arr); console.assert() //适合调试目的 console.trace(); //帮助您在调用它的位置输出当前堆栈跟踪 console.error('This is an error message.'); // error() 可能是第二流行的控制台方法。在 Chrome 控制台中,它以独特的红色显示错误消息。 console.warn('This is a warning message'); // console.warn() 在 Chrome 控制台中输出一条黄色消息,表示警告。 //--------------------------------------------------- console.count(); // console.count() 记录当前调用 count() 的次数。另一个有用的调试工具。 console.count(); // countReset() 方法将标签的计数设置回零。 //--------------------------------------------------- time()、timeEnd() 和 timeLog() //用于测量我们程序中的特定操作需要多长时间。 console.clear(); //console.clear() 通过清除日志来消除控制台的混乱。 group()、groupCollapsed() 和 groupEnd() //console.group() 向其后的任何控制台消息添加一定程度的缩进。//console.groupEnd() 将缩进重置为调用前面的 console.group() 之前的级别。 console.dir() // console.dir() 会将其记录为一个对象,显示一个交互式属性列表
九、JSON
转换方式:
对象转字符串:JSON.stringify()
字符串转对象:JSON.prase()
十、math对象
详见:js知识总结 -- Math对象、data日期对象的方法及功能
十一、本地存储
localStorage
sessionStorage