网页代码大全(网页设计css代码大全)

最近在国外技术社区看到了一些关�一行代�的文章,感觉很有��,就整�了一下�分享给大家,希望对你有所帮助~

这些方法使用到了一些API,简化了�作,但是有些方法写一行���太优雅,所以这里主�还是学习API的使用技巧�

一�日期处�

1. 检查日期是�有效

该方法用�检测给出的日期是�有效:

const isDateValid = (...val) => !Number.isNaN(new Date(...val).valueOf());

isDateValid("December 17, 1995 03:24:00");  // true
�制代�

2. 计算两个日期之间的间隔

该方法用�计算两个日期之间的间隔时间:

const dayDif = (date1, date2) => Math.ceil(Math.abs(date1.getTime() - date2.getTime()) / 86400000)
    
dayDif(new Date("2021-11-3"), new Date("2022-2-1"))  // 90
�制代�

�离过年还有90天~

3. 查找日期��一年中的第几天

该方法用�检测给出的日期��今年的第几天:

const dayOfYear = (date) => Math.floor((date - new Date(date.getFullYear(), 0, 0)) / 1000 / 60 / 60 / 24);

dayOfYear(new Date());   // 307
�制代�

2021年已�过�300多天了~

4. 时间格�化

该方法�以用�将时间转化为hour:minutes:seconds的格�:

const timeFromDate = date => date.toTimeString().slice(0, 8);
    
timeFromDate(new Date(2021, 11, 2, 12, 30, 0));  // 12:30:00
timeFromDate(new Date());  // 返�当�时间 09:00:00
�制代�

二�字符串处�

1. 字符串首字�大写

该方法用�将英文字符串的首字�大写处�:

const capitalize = str => str.charAt(0).toUpperCase() + str.slice(1)

capitalize("hello world")  // Hello world
�制代�

2. 翻转字符串

该方法用�将一个字符串进行翻转�作,返�翻转�的字符串:

const reverse = str => str.split('').reverse().join('');

reverse('hello world');   // 'dlrow olleh'
�制代�

3. �机字符串

该方法用�生�一个�机的字符串:

const randomString = () => Math.random().toString(36).slice(2);

randomString();
�制代�

4. 截断字符串

该方法�以�指定长度处截断字符串:

const truncateString = (string, length) => string.length < length ? string : `${string.slice(0, length - 3)}...`;

truncateString('Hi, I should be truncated because I am too loooong!', 36)   // 'Hi, I should be truncated because...'
�制代�

5. �除字符串中的HTML

该方法用��除字符串中的HTML元素:

const stripHtml = html => (new DOMParser().parseFromString(html, 'text/html')).body.textContent || '';
�制代�

三�数组处�

1. �数组中移除��项

该方法用�移除数组中的��项:

const removeDuplicates = (arr) => [...new Set(arr)];

console.log(removeDuplicates([1, 2, 2, 3, 3, 4, 4, 5, 5, 6]));
�制代�

2. 判断数组是�为空

该方法用�判断一个数组是�为空数组,它将返�一个布尔值:

const isNotEmpty = arr => Array.isArray(arr) && arr.length > 0;

isNotEmpty([1, 2, 3]);  // true
�制代�

3. �并两个数组

�以使用下�两个方法��并两个数组:

const merge = (a, b) => a.concat(b);

const merge = (a, b) => [...a, ...b];
�制代�

四�数字�作

1. 判断一个数是奇数还是�数

该方法用�判断一个数字是奇数还是�数:

const isEven = num => num % 2 === 0;

isEven(996); 
�制代�

2. �得一组数的平�值

const average = (...args) => args.reduce((a, b) => a + b) / args.length;

average(1, 2, 3, 4, 5);   // 3
�制代�

3. ��两个整数之间的�机整数

该方法用���两个整数之间的�机整数

const random = (min, max) => Math.floor(Math.random() * (max - min + 1) + min);

random(1, 50);
�制代�

4. 指定�数四�五入

该方法用�将一个数字按照指定�进行四�五入:

const round = (n, d) => Number(Math.round(n + "e" + d) + "e-" + d)

round(1.005, 2) //1.01
round(1.555, 2) //1.56
�制代�

五�颜色�作

1. 将RGB转化为�六机制

该方法�以将一个RGB的颜色值转化为16进制值:

const rgbToHex = (r, g, b) => "#" + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);

rgbToHex(255, 255, 255);  // '#ffffff'
�制代�

2. ���机�六进制颜色

该方法用���一个�机的�六进制颜色值:

const randomHex = () => `#${Math.floor(Math.random() * 0xffffff).toString(16).padEnd(6, "0")}`;

randomHex();
�制代�

六��览器�作

1. �制内容到剪切�

该方法使用 navigator.clipboard.writeText ���将文本�制到剪贴�:

const copyToClipboard = (text) => navigator.clipboard.writeText(text);

copyToClipboard("Hello World");
�制代�

2. 清除所有cookie

该方法�以通过使用 document.cookie �访问 cookie 并清除存储在网页中的所有 cookie:

const clearCookies = document.cookie.split(';').forEach(cookie => document.cookie = cookie.replace(/^ +/, '').replace(/=.*/, `=;expires=${new Date(0).toUTCString()};path=/`));
�制代�

3. ��选中的文本

该方法通过内置的 getSelection �性��用户选择的文本:

const getSelectedText = () => window.getSelection().toString();

getSelectedText();
�制代�

4. 检测是�是黑暗模�

该方法用�检测当�的�境是�是黑暗模�,它是一个布尔值:

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

console.log(isDarkMode)
�制代�

5. 滚动到页�顶部

该方法用�在页�中返�顶部:

const goToTop = () => window.scrollTo(0, 0);

goToTop();
�制代�

6. 判断当�标签页是�激活

该方法用�检测当�标签页是�已�激活:

const isTabInView = () => !document.hidden; 
�制代�

7. 判断当�是�是苹�设备

该方法用�检测当�的设备是�是苹�的设备:

const isAppleDevice = () => /Mac|iPod|iPhone|iPad/.test(navigator.platform);

isAppleDevice();
�制代�

8. 是�滚动到页�底部

该方法用�判断页�是�已�底部:

const scrolledToBottom = () => document.documentElement.clientHeight + window.scrollY >= document.documentElement.scrollHeight;
�制代�

9. �定�到一个URL

该方法用��定�到一个新的URL:

const redirect = url => location.href = url

redirect("https://www.google.com/")
�制代�

10. 打开�览器打�框

该方法用�打开�览器的打�框:

const showPrintDialog = () => window.print()
�制代�

七�其他�作

1. �机布尔值

该方法�以返�一个�机的布尔值,使用Math.random()�以�得0-1的�机数,�0.5进行比较,就有一�的概��得真值或者�值。

const randomBoolean = () => Math.random() >= 0.5;

randomBoolean();
�制代�

2. ��交�

�以使用以下形�在�适用第三个��的情况下,交�两个��的值:

[foo, bar] = [bar, foo];
�制代�

3. ����的类�

该方法用���一个��的类�:

const trueTypeOf = (obj) => Object.prototype.toString.call(obj).slice(8, -1).toLowerCase();

trueTypeOf('');     // string
trueTypeOf(0);      // number
trueTypeOf();       // undefined
trueTypeOf(null);   // null
trueTypeOf({});     // object
trueTypeOf([]);     // array
trueTypeOf(0);      // number
trueTypeOf(() => {});  // function
�制代�

4. ��度和摄�度之间的转化

该方法用�摄�度和��度之间的转化:

const celsiusToFahrenheit = (celsius) => celsius * 9/5 + 32;
const fahrenheitToCelsius = (fahrenheit) => (fahrenheit - 32) * 5/9;

celsiusToFahrenheit(15);    // 59
celsiusToFahrenheit(0);     // 32
celsiusToFahrenheit(-20);   // -4
fahrenheitToCelsius(59);    // 15
fahrenheitToCelsius(32);    // 0
�制代�

5. 检测对象是�为空

该方法用�检测一个JavaScript对象是�为空:

const isEmpty = obj => Reflect.ownKeys(obj).length === 0 && obj.constructor === Object;
�制代�

今天的文章就到这里,如�觉得有用就点个���

作者:CUGGZ
链�:https://juejin.cn/post/7025771605422768159

本文来自投稿,仅供学习参考!不代表本站立场,该文观点仅代表原作者本人,本站不拥有所有权,不承担相关法律责任。如发现本站有抄袭侵权/违规的内容,请发送邮件至83771837@qq.com举报,一经查实,本站将立刻删除。