前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >127个常用的JS代码片段,每段代码花30秒就能看懂(四)

127个常用的JS代码片段,每段代码花30秒就能看懂(四)

原创
作者头像
前端达人
修改于 2020-02-24 02:42:02
修改于 2020-02-24 02:42:02
83500
代码可运行
举报
文章被收录于专栏:前端达人前端达人
运行总次数:0
代码可运行

大家好,今天我继续给大家分享本系列文章的第四部分,希望对你的日常工作有所帮助。

64、getColonTimeFromDate

用于判断程序运行环境是否在浏览器,这有助于避免在node环境运行前端模块时出错。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const isBrowser = () => ![typeof window, typeof document].includes('undefined');

isBrowser(); // true (browser)
isBrowser(); // false (Node)

65、isBrowserTabFocused

用于判断当前页面是否处于活动状态(显示状态)。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const isBrowserTabFocused = () => !document.hidden;
isBrowserTabFocused(); // true

66、isLowerCase

用于判断当前字符串是否都为小写。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const isLowerCase = str => str === str.toLowerCase();

isLowerCase('abc'); // true
isLowerCase('a3@$'); // true
isLowerCase('Ab4'); // false

67、isNil

用于判断当前变量的值是否为 null 或 undefined 类型。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const isNil = val => val === undefined || val === null;

isNil(null); // true
isNil(undefined); // true

68、isNull

用于判断当前变量的值是否为 null 类型

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const isNull = val => val === null;

isNull(null); // true

69、isNumber

用于检查当前的值是否为数字类型

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function isNumber(n) {
    return !isNaN(parseFloat(n)) && isFinite(n);
}

isNumber('1'); // false
isNumber(1); // true

70、isObject

用于判断参数的值是否是对象,这里运用了Object 构造函数创建一个对象包装器,如果是对象类型,将会原值返回。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const isObject = obj => obj === Object(obj);

isObject([1, 2, 3, 4]); // true
isObject([]); // true
isObject(['Hello!']); // true
isObject({ a: 1 }); // true
isObject({}); // true
isObject(true); // false

71、isObjectLike

用于检查参数的值是否为null以及类型是否为对象。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const isObjectLike = val => val !== null && typeof val === 'object';

isObjectLike({}); // true
isObjectLike([1, 2, 3]); // true
isObjectLike(x => x); // false
isObjectLike(null); // false

72、isPlainObject

此代码段检查参数的值是否是由Object构造函数创建的对象。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const isPlainObject = val => !!val && typeof val === 'object' && val.constructor === Object;

isPlainObject({ a: 1 }); // true
isPlainObject(new Map()); // false

73、isPromiseLike

用于检查当前的对象是否类似Promise函数。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const isPromiseLike = obj =>
  obj !== null &&
  (typeof obj === 'object' || typeof obj === 'function') &&
  typeof obj.then === 'function';
  
isPromiseLike({
  then: function() {
    return '';
  }
}); // true
isPromiseLike(null); // false
isPromiseLike({}); // false

74、isSameDate

用于判断给定的两个日期是否是同一天。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const isSameDate = (dateA, dateB) => dateA.toISOString() === dateB.toISOString();

isSameDate(new Date(2010, 10, 20), new Date(2010, 10, 20)); // true

75、isString

用于检查当前的值是否为字符串类型。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const isString = val => typeof val === 'string';

isString('10'); // true

76、isSymbol

用于判断参数的值是否是 Symbol 类型。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const isSymbol = val => typeof val === 'symbol';

isSymbol(Symbol('x')); // true

77、isUndefined

用于判断参数的类型是否是 Undefined 类型。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const isUndefined = val => val === undefined;

isUndefined(undefined); // true

78、isUpperCase

用于判断当前字符串的字母是否都为大写。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const isUpperCase = str => str === str.toUpperCase();

isUpperCase('ABC'); // true
isLowerCase('A3@$'); // true
isLowerCase('aB4'); // false

79、isValidJSON

用于判断给定的字符串是否是 JSON 字符串。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const isValidJSON = str => {
  try {
    JSON.parse(str);
    return true;
  } catch (e) {
    return false;
  }
};

isValidJSON('{"name":"Adam","age":20}'); // true
isValidJSON('{"name":"Adam",age:"20"}'); // false
isValidJSON(null); // true

80、last

此函数功能返回数组的最后一个元素。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const last = arr => arr[arr.length - 1];

last([1, 2, 3]); // 3

81、matches

此函数功能用于比较两个对象,以确定第一个对象是否包含与第二个对象相同的属性值。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
onst matches = (obj, source) =>
  Object.keys(source).every(key => obj.hasOwnProperty(key) && obj[key] === source[key]);
  
matches({ age: 25, hair: 'long', beard: true }, { hair: 'long', beard: true }); // true
matches({ hair: 'long', beard: true }, { age: 25, hair: 'long', beard: true }); // false

82、maxDate

此代码段查找日期数组中最大的日期进行输出。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const maxDate = (...dates) => new Date(Math.max.apply(null, ...dates));

const array = [
  new Date(2017, 4, 13),
  new Date(2018, 2, 12),
  new Date(2016, 0, 10),
  new Date(2016, 0, 9)
];
maxDate(array); // 2018-03-11T22:00:00.000Z

83、maxN

此段代码输出数组中前 n 位最大的数。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const maxN = (arr, n = 1) => [...arr].sort((a, b) => b - a).slice(0, n);

maxN([1, 2, 3]); // [3]
maxN([1, 2, 3], 2); // [3,2]

84、minDate

此代码段查找日期数组中最早的日期进行输出。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const minDate = (...dates) => new Date(Math.min.apply(null, ...dates));

const array = [
  new Date(2017, 4, 13),
  new Date(2018, 2, 12),
  new Date(2016, 0, 10),
  new Date(2016, 0, 9)
];
minDate(array); // 2016-01-08T22:00:00.000Z

小节

今天的内容就和大家分享到这里,感谢你的阅读,如果你喜欢我的分享,麻烦给个关注、点赞加转发哦,你的支持,就是我分享的动力,后续会持续分享剩余的代码片段,欢迎持续关注。

本文原作者:Fatos Morina 来源网站:medium 注:并非直译

相关阅读

127个常用的JS代码片段,每段代码花30秒就能看懂(一)

127个常用的JS代码片段,每段代码花30秒就能看懂(二)

127个常用的JS代码片段,每段代码花30秒就能看懂(三)

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
电气工程师要了解的上位机知识,C#简单几行代码就能实现Modbus通信,源代码分享
之前一直想用C#写一个MODBUS通信的案例,本来想用SerialPort直接写的,然后发现可以用 nModbus类库,使用nModbus库来编写Modbus通信的C#案例是一个很好的选择,因为它大大简化了Modbus通信的实现过程。
自动化大师
2024/08/14
4550
电气工程师要了解的上位机知识,C#简单几行代码就能实现Modbus通信,源代码分享
C#实例:串口通讯
 最近在研究串口通讯,其中有几个比较重要的概念,RS-232这种适配于上位机和PC端进行连接,RS-232只限于PC串口和设备间点对点的通信。它很简单的就可以进行连接,由于串口通讯是异步的,也就是说你可以同时向两端或者更多进行数据发送,它们之间的传输数据类型是byte,串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通信的端口,这些参数必须匹配。
zls365
2020/08/19
3.7K1
C#实例:串口通讯
C#上位机串口控制12864显示
实现的效果 上面是用Proteus仿真的,,对了如果自己想用proteus仿真需要安装下面这个软件 再看一下实物显示效果 先做上位机部分........... 为了程序一启动就把电脑上能用的串口号显示
杨奉武
2018/04/17
4.6K0
C#上位机串口控制12864显示
c#开发地磅称重软件
2012年时即做过一个地磅称重软件,最近公司又接了一个地磅过磅软件的项目,把遇到的问题总结一下以备后用。
跟着阿笨一起玩NET
2018/09/20
1.5K0
C#串口操作类,包括串口读写操作
本文转载自博客园:C#串口操作类,包括串口读写操作 串口进行操作的类,其中包括写和读操作,类可设置串口参数、设置接收函数、打开串口资源、关闭串口资源,操作完成后,一定要关闭串口、接收串口数据事件、接收数据出错事件、获取当前全部串口、把字节型转换成十六进制字符串等功能。这个串口类已经过了调试,可以使用,相关C#代码如下:
ccf19881030
2020/09/17
4.7K0
C#上位机开发(三)—— 构建SerialAssistant雏形
上一篇简单介绍了C#的一些基本知识,并成功的Hello,World,那么从这篇开始,我们来自己动手写一个串口助手:
vv彭
2020/11/12
3.2K0
C#上位机开发(三)—— 构建SerialAssistant雏形
C# Modbus 通讯
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/157958.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/14
1.7K0
C# SqlSugar框架的学习使用(四)-- 插入数据的详细用法
上一篇《C# SqlSugar框架的学习使用(三)-- 查询的多种用法》我们已经把SqlSugar的查询多种用法实现了,这篇我们就来说说插入数据的多种用法。
Vaccae
2019/08/20
9.7K0
C# SqlSugar框架的学习使用(四)-- 插入数据的详细用法
【C++】Qt:串口调试助手示例
串口助手是一种串口通讯测试工具,它可以用于打开、关闭、配置串口,读写串口数据等常见的串口通信操作。 在嵌入式系统调试、模块测试、通讯协议分析等领域都具有广泛的应用。
DevFrank
2024/07/24
7850
【C++】Qt:串口调试助手示例
第一个WPF程序(串口调试)
本例子仅支持“ASCII”编码的串口数据发送与接收,如果需要其他编码,请自行更改,谢谢!
CNXY
2020/02/18
9930
第一个WPF程序(串口调试)
【Unity3D】Unity3d 与串口的通信程序的开发,软件硬件结合
串行接口简称串口,也称串行通信接口或串行通讯接口(通常指COM接口),是采用串行通信方式的扩展接口。(至于再详细,自己百度)
恬静的小魔龙
2020/03/11
2.7K0
【Unity3D】Unity3d 与串口的通信程序的开发,软件硬件结合
C#设备处理类操作
C#对于处理window操作系统下的设备有天然的优势,对于大多数设备读写等操作来说基本上够了,这里只讨论通过普通的大多数的设备的操作。涉及到两大类SerialPort类,Socket的一些操作。不一定好,但希望分享出去,让更多的人受益。。
FreeTimeWorker
2020/08/31
6660
分分钟钟让你从上位机小白变为大佬
我现在从事的C#工控机的开发,所以接下来会写一个系列关于上位机如何和工控机/PLC/各种仪表通信。希望能帮助到有需要的人(我假设你有过windows C#编程经验的)。
苏州程序大白
2021/08/13
3.5K0
分分钟钟让你从上位机小白变为大佬
WPF入门到放弃(五)| 串口的读取与写入(程序&附串口调试精灵)
WPF也是我今年刚开始深入去了解,看了不少的学习视频和书籍,受剑神Python入门到放弃的启发,想把这段时间学习内容做个总结,一是因为我相信技术总是需要不断的总结与练习才能有所进步,二是希望帮助初学者对WPF有个初步的了解,大家一起探讨学习进步。
剑指工控
2021/11/08
3K0
WPF入门到放弃(五)| 串口的读取与写入(程序&附串口调试精灵)
C#开发终端式短信的原理和方法
简介   没发过短信的年轻人肯定是属于那种受保护的稀有动物,通讯发达的今天短信已经成为人们交流的重要手段,其中也蕴含着巨大的市场和经济利益,掌握短信技术的人才也受到各大公司的追捧是目前职场上耀眼的明星。本文介绍了短信的原理和实现方法,重点说明了短信的编码方式、AT指令以及用C#实现串口通讯的方法。 前言   目前,主有三种发送短信的方式:   1、 网关方式:就是向当地的电信部门申请,不需要额外的设备,适用于大型的通信公司,像华为、傲天、中兴、亚信等。   2、 终端方式:就是借助像GSM MODEM之类的
阿新
2018/04/13
2.8K0
10min教你编写C#上位机控制Arduino板载LED
本文以一个编写串口上位机控制Arduino板载LED的小任务,来完整的展示如何从下位机做到上位机,包含了Arduino、串口、C#编程程,麻雀虽小,可是五脏俱全哦~
Mculover666
2020/07/16
3.9K0
C# UDP操作实例
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Net.Sockets; using System.Ne
zls365
2020/08/19
1.2K0
C# UDP操作实例
[C#] 支持API的边缘网关开发笔记3-NModbus4封装
至此,Nmodbus4<2.1.0>封装完成.可以直接调用自己的DLL来使用了.
科控物联
2022/03/29
9950
[C#] 支持API的边缘网关开发笔记3-NModbus4封装
进阶|C#利用反射方式动态调用类库里的方法(附源码)
做为2020年第一篇技术文章,我们就直接分享一个进阶的的东西,利用反射方式动态调用类库执行方法。
Vaccae
2020/01/13
2.5K0
进阶|C#利用反射方式动态调用类库里的方法(附源码)
C#使用DataSet类、DataTable类、DataRow类、OleDbConnection类、OleDbDataAdapter类编写简单数据库应用
该文章介绍了如何通过C#和OleDbConnection类实现数据库操作,以及如何使用DataGridView控件进行数据展示。首先,讲解了如何创建数据库连接,然后介绍了如何往数据库中添加数据。之后,讲解了如何查询数据库中的数据,并将结果显示在DataGridView控件中。最后,介绍了如何删除数据库中的数据。
CNXY
2017/12/25
2.4K0
C#使用DataSet类、DataTable类、DataRow类、OleDbConnection类、OleDbDataAdapter类编写简单数据库应用
推荐阅读
相关推荐
电气工程师要了解的上位机知识,C#简单几行代码就能实现Modbus通信,源代码分享
更多 >
LV.0
这个人很懒,什么都没有留下~
目录
  • 64、getColonTimeFromDate
  • 65、isBrowserTabFocused
  • 66、isLowerCase
  • 67、isNil
  • 68、isNull
  • 69、isNumber
  • 70、isObject
  • 71、isObjectLike
  • 72、isPlainObject
  • 73、isPromiseLike
  • 74、isSameDate
  • 75、isString
  • 76、isSymbol
  • 77、isUndefined
  • 78、isUpperCase
  • 79、isValidJSON
  • 80、last
  • 81、matches
  • 82、maxDate
  • 83、maxN
  • 84、minDate
  • 小节
  • 相关阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档