文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

九个为初学开发者准备 JavaScript 单行代码

2024-12-01 13:42

关注

1. 随机排列数组

一个超级简单的函数,它接受一个数字数组作为参数,并将其全部打乱!

const shuffleArray = (arr) => arr.slice().sort(() => Math.random() - 0.5)
console.log(shuffleArray([1, 2, 3, 4, 5, 6]))

2.Throwdice

另一个使用随机方法的 JavaScript 是这段代码,用random方法返回一个 1 到 6 之间的数字。

const throwdice = () => ~~(Math.random() * 6) + 1;
throwdice();
throwdice();
throwdice();

3.检测暗模式

可以使用下面的 JavaScript 来实现暗模式的检测:

const isDarkMode = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches;

4. 检查代码是否在浏览器中运行

你可能知道,JavaScript 代码可以在各种不同的地方运行!在服务器、终端,或者最常见的是在浏览器中。

如果你只想在 Web 浏览器上运行代码的某个部分时才执行它,你可以使用下面的代码来检查它!

const isBrowser = typeof window === 'object' && typeof document === 'object';

5. 获取 Cookie 的值

现在几乎在每个网站上,你基本都无法再绕过它们了。

如果你想获取一个你知道名字的特定cookie的值,你可以使用下面的函数来获取它!

const cookie = name => `; ${document.cookie}`.split(`; ${name}=`).pop().split(';').shift();
cookie('_ga');
cookie('lang');

6. 创建过去 7 天的数组

一个非常酷的技巧,它返回一个包含过去 7 天的数组,包括当天。

你可以将 - 换成 +,然后,你将获得接下来的 7 天!

const pastSevenDays = [...Array(7).keys()].map(days => new Date(Date.now() - 86400000 * days));
console.log(pastSevenDays);
const comingSevenDays = [...Array(7).keys()].map(days => new Date(Date.now() + 86400000 * days));
console.log(comingSevenDays);

7.交换两个变量

现在这是一个超级基本的例子,我在几年后才发现!简单地交换两个变量的值显然超级简单。

let a = 1
let b = 2
[a, b] = [b, a];
console.log(a)
console.log(b)

8. 将字符串转换为 URL Slug

从字符串到 URL slug 可能是一个棘手的逻辑。

我们可以使用一个小的 RegEx 来解决这个问题,它会删除特殊字符并在单词之间添加一个“-”。

一探究竟!

const slugify = string => string.toLowerCase().replace(/\s+/g, '-').replace(/[^\w-]+/g, '');
slugify('Episode IV: A New Hope');

9. 生成随机十六进制颜色

你可能永远不知道何时需要随机的十六进制颜色值。我们可以使用下面的这个 JavaScript 单行代码来生成一个随机的十六进制颜色代码。

const randomHexColor = () => '#' + (0x1000000 + Math.random() * 0xffffff).toString(16).slice(1, 6);
randomHexColor()
randomHexColor()
randomHexColor()

写在最后

以上就是我今天跟你分享的9个适合初学开发者学习JavaScript的知识内容,希望对你有用,如果你觉得有用的话,请点赞我,关注我,同时不要忘记将这篇文章分享给想学习JavaScript的朋友们。

最后,非常感谢你阅读到此,祝编程愉快!

来源:web前端开发内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯