js必备知识小结(二)

简介: js必备知识小结(二)

一、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字符串相关操作及方法

六、运算符

详见:JS-基础:JavaScript运算符 个人总结

七、语句

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

Z_B_L
+关注
目录
打赏
0
0
0
0
2
分享
相关文章
ROS CDK魔法书:点亮博客上云新技能(TypeScript篇)
阿里云ROS CDK是资源编排服务的命令行工具,它允许开发者用编程语言(如TypeScript、JavaScript等)定义云资源,简化了JSON或YAML模板的使用。ROS CDK的Asset模块用于将本地文件上传到OSS(对象存储服务),实现了本地资源到云端的自动化迁移。在实践中,通过初始化工程、配置凭证、使用Asset模块创建资源描述,然后通过CDK部署到OSS,实现静态网站的云上托管。此外,ROS CDK支持版本控制、多团队协作和自动化部署,提高了基础设施管理的效率和一致性。
ROS CDK魔法书:点亮博客上云新技能(TypeScript篇)
【Python数据分析 - 9】:DataFrame结构中自定义行列索引(Pandas篇)
【Python数据分析 - 9】:DataFrame结构中自定义行列索引(Pandas篇)
630 0
【Python数据分析 - 9】:DataFrame结构中自定义行列索引(Pandas篇)
微信小程序开发工具的使用,各个配置文件详解,小程序开发快速入门(一)
微信小程序开发工具的使用,各个配置文件详解,小程序开发快速入门(一)
649 1
ElementUI this.$message is not a function 解决方法
ElementUI this.$message is not a function 解决方法
401 0
【高并发】什么是ForkJoin?看这一篇就够了!
在JDK中,提供了这样一种功能:它能够将复杂的逻辑拆分成一个个简单的逻辑来并行执行,待每个并行执行的逻辑执行完成后,再将各个结果进行汇总,得出最终的结果数据。有点像Hadoop中的MapReduce。
264 0
【高并发】什么是ForkJoin?看这一篇就够了!
阿里云ECS云服务器Linux镜像系统发行版本
阿里云ECS云服务器Linux镜像系统发行版本可选CentOS、Ubuntu、Red Hat、Debian、SUSE Linux、OpenSUSE、CoreOS、Aliyun Linux和FreeBSD等镜像,ECS实例规格不同,可选的Linux版本也不同,本文列举一些Linux版本,可能不全,请以实际购买为准
阿里云ECS云服务器Linux镜像系统发行版本
yolov5 deepsort-船舶目标检测+目标跟踪+单目测距+速度测量(代码+教程)
yolov5 deepsort-船舶目标检测+目标跟踪+单目测距+速度测量(代码+教程)
DNGuard Enterprise v3.2 released
Version 3.2.0 (February 08, 2009) [+] Add Support for .Net Framework 4.0 (VS2010) CTP. [*] Fixed some c++ mixed images cause BadImageFormatException after protected .
728 0
E-MapReduce的HBase集群间迁移
E-MapReduce提供HBase服务,本文介绍了几种HBase集群间迁移的方法
3450 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问