HTML5 新增特性与常用属性详解
HTML5 不只是“新标签集合”,它还补充了更清晰的页面语义、更强的表单能力、原生音视频和图形绘制 API。本文以日常开发中最常用的部分为主,整理新增特性及使用方式。
语义化结构标签语义化标签可以让页面结构更清晰,也能帮助辅助阅读工具与搜索引擎理解内容。
<header>页面或区块的页眉</header><nav>主要导航</nav><main> <article> <section> <h2>文章章节</h2> <p>章节正文</p> </section> </article> <aside>侧边栏补充内容</aside></main><footer>页脚信息</footer>
header、footer、nav、main、article、section 和 aside 都有明确的结构含义。它们不是单纯替代 div;只有内容确实符合 ...
JavaScript localStorage:带过期时间的本地缓存
为什么需要带过期时间的存储?localStorage 允许我们在浏览器中存储数据,并且这些数据在页面重新加载或关闭后仍然保存。项目开发中有时需要让数据在指定时间后失效,例如用户登录后的 Token 有效期。
但 localStorage 不支持直接存储带过期时间的数据。本文通过两个简单的函数,为它实现定时存储的能力。
实现思路保存数据时,创建一个同时包含“实际值”和“过期时间”的对象,将其转换为 JSON 字符串后存入 localStorage。
读取数据时,先判断该对象是否存在及是否过期:如果过期就删除该项并返回 null;否则返回其中保存的值。
实现代码// 设置带有过期时间的键值对到 localStorage 中function setLocalStorageWithExpire(key, value, expireTime) { // 获取当前时间戳,并计算过期时间戳 const now = new Date().getTime(); const expires = now + expireTime; const item = { value, ...
Vue3 Axios 请求封装与错误处理
一、为什么选择Axios Axios的优势不必多说,但是对于在vue项目中使用,它有以下优势:
二、配置 Axios 实例 首先,创建一个axios.ts文件,用于配置 Axios 实例。这样可以确保所有 HTTP 请求共享统一的全局配置。
import axios, { type AxiosInstance, type InternalAxiosRequestConfig, type AxiosResponse } from ‘axios’;
const apiClient: AxiosInstance = axios.create({ baseURL: //根据项目需求配置对应的基地址 timeout: //根据项目需求配置对应的请求超时时间 headers: { ‘Content-Type’: ‘application/json’, },});
// 添加请求拦截器apiClient.interceptors.request.use( (config: ...
TypeScript 基础语法与常用类型
目录
一、简介
二、安装和使用
三、语法
总结
一、简介 TypeScript 是一种由微软开发的开源编程语言,是 JavaScript 的超集。js本身是弱类型语言,我们在使用过程中会更方便灵活,但在大型项目的开发中,这种特性可能会让我们出现一些小错误。而ts添加了静态类型和一些面向对象的特性,让我们在开发大型应用程序更容易维护和管理。
二、安装和使用 1. 我们可以直接使用npm工具直接全局安装ts。
npm install -g typescript
2.也可以在Typescript官网的演练场中进行测试。
左边是我们编写的ts代码,也可以进行调节配置、切换版本的操作,右边的控制台可以看到运行效果等。这种方式更适合我们练习语法。
三、语法1、类型推断 TypeScript 的类型推断是一项强大的功能,它允许编译器在你不显式指定类型的情况下,自动推断出变量、函数参数和返回值的类型。这样可以减少冗余的类型注解,同时保持代码的安全性和可读性。
let str=’nihao’str=1 ...
Vue 基础(四):自定义指令与生命周期
自定义指令 除了默认设置的核心指令( v-model 和 v-show ), Vue 也允许注册自定义指令。在vue中使用directive来创建自定义指令
钩子函数指令定义函数提供了几个钩子函数(可选):
这些钩子函数中的this并没有被维护成vm,因为所绑定的元素,以及参数在钩子函数中都能获取到 。
钩子函数参数钩子函数的参数有:
el: 指令所绑定的元素,可以用来直接操作 DOM 。binding: 一个对象,包含以下属性:name: 指令名,不包括 v- 前缀。value: 指令的绑定值, 例如: v-my-directive=”1 + 1”, value 的值是 2。oldValue: 指令绑定的前一个值,仅在 update 和 componentUpdated 钩子中可用。无论值是否改变都可用。expression: 绑定值的表达式或变量名。 例如 v-my-directive=”1 + 1” , expression 的值是 “1 + 1”。arg: 传给指令的参数。例如 v-my-directive:foo, arg ...
Vue 基础(三):过滤器与内置指令
过滤器定义对要显示的数据进行特定格式化后再显示(适用于一些简单逻辑的处理)
语法注册:Vue.filter(name,callback) 或 new Vue{filters:{}}使用:{{ xxx | 过滤器名}} 或 v-bind:属性 = “xxx | 过滤器名”
备注过滤器也可以接收额外参数、多个过滤器也可以串联并没有改变原本的数据, 是产生新的对应的数据示例这里提前引入了BootCDN下载的day.js。
显示格式化后的时间
现在是:{{fmtTime}}
现在是:{{getFmtTime()}}
现在是:{{time | timeFormater}}
现在是: ...


