首页 > 编程语言 >【10.0】前端基础之JavaScript进阶

【10.0】前端基础之JavaScript进阶

时间:2023-07-04 18:44:34浏览次数:64  
标签:11 10.0 进阶 JavaScript let dict dream reg d0

【10.0】前端基础之JavaScript进阶

【一】自定义对象

  • 可以看成Python中的字典,但是在JS中的自定义对象要比Python里面的字典操作起来更方便

【1】创建自定义对象方式一

var d = {"键":"值",};
  • 操作方法
var dict = {"name":"dream","age":18};
var dict = {"name":"dream","age":18};

dict
// {name: 'dream', age: 18}

// 查看当前类型
typeof dict
// 'object'

// 根据键取值
dict["name"]
// 'dream'

// 根据键取值
dict.name;
// 'dream'
  • 支持 for 循环取值
    • 拿到的也是键值对
for (let i in dict){
    console.log(i,dict[i])
};
for (let i in dict){
    console.log(i,dict[i])
};

/*
VM3887:2 name dream
VM3887:2 age 18
*/

【2】创建自定义对象方式二

var dict1 = new Object();
# 空字典 {}
  • 向其内部添加元素
var dict1 = new Object();
dict1.name = "dream";

【二】日期对象Date

【1】定义时间

let d3 = new Date();
  • 结构化时间
let d3 = new Date()
// undefined
d3
// Tue Jul 04 2023 18:03:06 GMT+0800 (香港标准时间)
  • 转时间格式
let d3 = new Date()
// undefined

d3.toLocaleString();
// 2023/7/4 18:03:06'
  • 自定义时间
let d4 = new Date("2028/11/11 11:11:11");
d4.toLocaleString();
// '2028/11/11 11:11:11'

let d5 = new Date(1111,11,11,11,11,11);
d5.toLocaleString(); // 月份从0开始 0-11月
// '1111/12/11 11:11:11'

【2】内置方法

let d0 = new Date();

d0.getDate();
// 获取日
d0.getDay();
// 获取星期
d0.getMonth();
// 获取月份(0-11)
d0.getFullYear();
// 获取年份
d0.getHours();
// 获取小时
d0.getMinutes();
// 获取分钟
d0.getSeconds();
// 获取秒数
d0.getMilliseconds();
// 获取毫秒数
d0.getTime();
// 获取时间戳

【三】JSON对象

  • 在Python中序列化和反序列化使用
    • dumps 序列化
    • loads 反序列化
Supports the following objects and types by default:

    +-------------------+---------------+
    | Python            | JSON          |
    +===================+===============+
    | dict              | object        |
    +-------------------+---------------+
    | list, tuple       | array         |
    +-------------------+---------------+
    | str               | string        |
    +-------------------+---------------+
    | int, float        | number        |
    +-------------------+---------------+
    | True              | true          |
    +-------------------+---------------+
    | False             | false         |
    +-------------------+---------------+
    | None              | null          |
    +-------------------+---------------+
  • 在js中也有序列化和反序列化方法
    • JSON.stringify() ----> dumps 序列化
    • JSON.parse() -----> loads 反序列化

【四】正则对象 RegExp

  • 在Python中如果需要使用正则 需要借助于re模块
  • 在 js 中需要创建正则对象

【1】声明正则表达式的方式一

let reg = new RegExp(正则表达式);

【2】声明正则表达式的方式二

let reg1 = /正则表达式/

【3】匹配数据

let reg = new RegExp(正则表达式);
reg.test(待匹配内容)

// 获取字符串中的某个字母
let str = "dream eam eam eam"
// 字符串内置方法
str.match(/m/) // 拿到第一个字母并返回索引,不会继续匹配
str.match(/m/g) // 全局匹配 g表示全局模式
// 获取字符串中的某个字母
let str = "dream eam eam eam"
undefined
str.match(/m/) // 拿到第一个字母并返回索引,不会继续匹配
// ['m', index: 4, input: 'dream eam eam eam', groups: undefined]
str.match(/m/g) // 全局匹配 g表示全局模式
// (4) ['m', 'm', 'm', 'm']

【4】正则的BUG

let reg = /^[a-zA-Z][A-Za-z0-9]/g

reg.test("dream");

全局模式的指针移动

let reg = /^[a-zA-Z][A-Za-z0-9]/g

// 第一次匹配成功 -- 有数据-- 指针移动到尾端
reg.test("dream");
// true

// 第二次匹配失败 -- 指针在尾端向后匹配 --无数据
reg.test("dream");
// false

// 第三次匹配成功 -- 有数据-- 指针回到头部
reg.test("dream");
// true
reg.test("dream");
// false

// 第二次匹配失败 -- 指针在尾端向后匹配 --无数据
reg.lastIndex
// 0
reg.test("dream");
// true

// 第三次匹配成功 -- 有数据-- 指针回到头部
reg.lastIndex
// 2

匹配数据为空时

let reg = /^[a-zA-Z][A-Za-z0-9]/


reg.test();
let reg = /^[a-zA-Z][A-Za-z0-9]/

// 针对上述表达式 :没有数据时。默认传进去的参数是  undefined --- 匹配成功
reg.test();
// true
reg.test();
// true

【五】math对象

abs(x)      返回数的绝对值。
exp(x)      返回 e 的指数。
floor(x)    对数进行下舍入。
log(x)      返回数的自然对数(底为e)。
max(x,y)    返回 x 和 y 中的最高值。
min(x,y)    返回 x 和 y 中的最低值。
pow(x,y)    返回 x 的 y 次幂。
random()    返回 0 ~ 1 之间的随机数。
round(x)    把数四舍五入为最接近的整数。
sin(x)      返回数的正弦。
sqrt(x)     返回数的平方根。
tan(x)      返回角的正切。

标签:11,10.0,进阶,JavaScript,let,dict,dream,reg,d0
From: https://www.cnblogs.com/dream-ze/p/17526723.html

相关文章

  • JavaScript 数组的 reduce 方法有哪些应用
    JavaScript数组的reduce方法有哪些应用JavaScript中的reduce()方法可以用于将数组元素汇总为单个值,它接受一个回调函数作为参数,并在每个数组元素上调用该函数,以便将其累加到一个累加器变量中。下面是一些实际应用:数组求和:使用reduce()方法将数组元素相加,从而计算数组的总......
  • 【8.0】前端基础之JavaScript引入
    【8.0】前端基础之JavaScript引入【一】什么是JavaScriptjs也是一门编程语言,他可以写后端代码JavaScript想一统天下,前后端都写于是node.js支持JS代码跑在后端服务器上但是并不能完美的实现JavaScript和Java一毛钱关系都没有,纯粹是为了蹭Java的热度【二】JavaScrip......
  • 【9.0】前端基础之JavaScript初识
    【9.0】前端基础之JavaScript初识js也是一门面向对象的编程语言,一切皆对象【一】变量命名规范变量名只能是数字/字母/下划线/$变量名命名规范(js中推荐驼峰式命名法)变量民不能用关键字作为变量名【二】JS代码的书写位置可以单独开设JS文件书写还可以直接在浏览......
  • javascript现代编程系列教程之X——javascript人工智能
    JavaScript在人工智能(AI)领域的应用主要体现在以下几个方面:浏览器端的机器学习:TensorFlow.js是一个在浏览器中运行的JavaScript机器学习库,它允许开发者训练和部署机器学习模型。这使得开发者可以在浏览器端进行实时的机器学习任务,无需将数据传输到服务器端,从而提高了用户的隐......
  • 【四】JavaScript之类型转换
    【四】JavaScript之类型转换【1】类型转换javascript是弱类型的编程语言所以本身不仅提供了数据类型的转换甚至在数据使用运算符的时候,javascript的解释器也会出现默认隐式转换数据类型的情况。【2】字符串字符串转换成布尔值除了空字符串("")被转为false,其他的任......
  • 【三】JavaScript之数据类型
    【三】JavaScript之数据类型【0】数据类型展示javascript中变量的值有不同的作用或者功能。按不同的功能,值也可以区分不同的类型。类型名称描述Number数值型整数,浮点数。。。。String字符串文本,一般使用"双引号",'单引号'或者反引号圈起来的都是文本。Bo......
  • 【十】JavaScript之内置对象
    【十】JavaScript之内置对象【1】内置对象build-inObject,也叫内建对象,由浏览器提供给开发者直接使用的。文档地址:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects【2】Number数值对象,在js中一切的数值类型数据,都附带Number对象的......
  • 【九】JavaScript之对象
    【九】JavaScript之对象【1】对象js中,虽然是函数优先的编程语言,但是使用上也是基于对象的所以在js中也存在万物皆为对象的情况。【2】对象的创建<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Title</title></head><bo......
  • 【八】JavaScript之函数
    【八】JavaScript之函数【1】函数javascript被称为披着面向对象的皮的函数式编程语言,是函数优先的编程语言,所以本质上js中的一切都是基于函数构建出来,所以函数本身也是对象,也是一等公民。function,是类似变量一样的容器,代表了一段具有指定功能的代码段。【2】函数使用的......
  • 【七】JavaScript之异常判断
    【七】JavaScript之异常判断【1】异常捕获文档:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Statements/try...catchjs中提供了三种异常处理的写法:try...catchtry...finallytry...catch...finallytry{//尝试执行的代码}catch(e){//......