JavaScript小技巧:合并变量赋值、&&运算符判断巧用、前端语音播报、package.json中^,~的区别、利用 new URL 解析URL
一、合并变量赋值
我们经常用到合并变量声明,也就是当我们声明多个同类型的变量时,可以像下面这样简写。
// 长
let test1;
let test2 = 1;
// 短
let test1, test2 = 1;
console.log(test1, test2) // undefined 1
这里讲一个合并变量赋值的小技巧,当我们处理多个变量并将不同的值分配给不同的变量时,这种方式非常有用。
let [t1, t2, t3] = [1, 2, 3];
console.log(t1,t2,t3)
// 1 2 3
二、&& 运算符巧用
如果仅在变量值为 true 的情况下才调用函数,则可以使用 && 运算符。
// 长
if (test1) {
callMethod();
}
// 短
test1 && callMethod();
三、前端语音播报
语音播报:在项目中需要对ajax请求返回的消息进行语音播报,str 为返回的data(可以在浏览器控制台尝试)
// 语音播报:百度
function voiceAnnouncements(str){
var url = "http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&text=" + encodeURI(str);
var n = new Audio(url);
n.src = url;
n.play();
}
voiceAnnouncements('你好,今天吃的什么?')
四、package.json中 ^、~ 的区别
"dependencies": {
"vue": "^2.5.2",
"vue-router": "^3.0.1"
},
指定版本号:
1、指定版本。比如:"vue": "2.5.2",表示安装2.5.2的版本
2、波浪号 ~ + 指定版本。比如: "vue": "~2.5.2",表示安装2.5.x的最新版本(不低于2.5.2),但是不安装2.6.x,也就是说安装时不改变大版本号和次要版本号
3、^ + 指定版本。比如:"vue": "^2.5.2",表示安装2.5.2及以上的版本,但是不安装3.0.0,也就是说安装时不改变大版本号。
简言之就是:什么都不加是指定版本;波浪号 ~ 是不改变次要版本,但升级小版本;^ 是不改变大版本,但升级次要版本。
五、利用 new URL 解析 URL
const parseURL = (url = '') => {
const res = new URL(url);
res.queryParams = key => {
if (key) {
return res.searchParams.get(key)
};
const params = {};
const paramGroup = res.search.replace(/^\?/,'').split('&');
paramGroup.forEach(param => {
const [key, val] = param.split('=');
params[key] = val;
});
return params;
};
return res;
};
parseURL('https://www.example.com/a/b?c=1&d=2');
可以直接使用 new URL() 解析 url 的内容。
分类:
小知识随手记系列
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2018-02-24 浅析JS中的BigInt类型及其使用方法与注意事项