猿笔记
首页
小抄
标签
JS 判断是否为数组
标准库
Array
.
isArray
(value)
第三方库
Lodash
_.
isArray
(value)
jQuery
$.
isArray
(value)
相关小抄
如何用 JS 实现冒泡排序
冒泡排序在 JavaScript 中的实现非常简单,可以通过一次循环来完成。下面是使用 JavaScript 实现冒泡排序的示例代码: function bubbleSort(arr) { for (let i = 0; i < arr.length - 1; i++) { for (let j = 0; j < arr.length - i - 1; j++) { if
JS 正则表达式校验 URL 地址
正则表达式是一种用于检查字符串中是否存在特定格式的强大工具,可以用来验证 URL 地址。例如,你可以使用以下正则表达式来校验 URL: /^(http|https):\/\/(\S+)$/ 上面的正则表达式表示,URL 必须以 `http` 或者 `https` 开头,然后是 `://`,最后是一个非空字符串。 示例代码: // 用于校验 URL 的正则表达式 const urlRegex = /
JS 正则表达式校验 IP 地址
正则表达式可以用来校验 IP 地址,以下是一段示例代码: const ipRegex = /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0
如何用 JS 解析 URL 参数
使用 JavaScript 解析 URL 参数的方法有很多,但最常见的一种是使用 URL 模块中的 URLSearchParams API。要使用这个 API,首先需要获取 URL 对象,然后将其传递到 URLSearchParams 构造函数中: // Get the URL object const url = new URL('https://example.com?foo=bar&baz=
JS 正则表达式校验电子邮箱地址
可以使用 JavaScript 的正则表达式来检验电子邮箱地址,例如: /^(([^<>()\]\\.,;:\s@"]+(\.[^<>()\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/ 上述正则表达式将匹配形如 `e
如何用 JS 实现快速排序算法
可以使用快速排序算法来对数组进行排序。它的基本思想是: 1. 选定一个分割元素(通常是数组的第一个元素) 2. 将分割元素与其他元素进行比较,将小于分割元素的元素放在其左边,将大于分割元素的元素放在其右边 3. 对左边和右边子数组分别重复步骤 1 和 2,直到所有子数组只包含一个元素 以下是用 JavaScript 实现快速排序算法的示例代码: function quickSort(arr) {
JS 原型链的简要描述
const o = new Object() o.constructor === Object o.__proto__ === Object.prototype Object.constructor === Function Object.__proto__ === Function.prototype Object.prototype.constructor === Object Functio
JS 中 .__proto__ 与 .prototype 的关系与区别
简要说明如下: * `.__proto__` 是对象的属性;`.prototype` 是构造函数的属性。 * 两者的值都是原型对象。也就是说,两者的作用都是获取对象的原型对象。 * 对于由构造函数创建的对象来说,`o.__proto__ === o.constructor.prototype` ——这是两者最直接的关联。 * 对于 “对象字面量” 和由 `Object.create(proto)`
JS 判断一个对象是否为另一个对象的原型
判断 `protoObj` 对象是否为 `obj` 对象的原型。 方法一 obj.__proto__ === protoObj // or Object.getPrototypeOf(obj) === protoObj 坑 * 直接取 `obj` 的原型,但不查询原型链。 方法二 obj instanceof protoObj // or protoObj.isPrototypeOf(obj) 此
JS 判断两个值是否相同
a === b 坑 * `NaN === NaN` 返回 `false`。 方法二 Object.is(a, b) 比较两个 `NaN` 时可以返回正确的结果。 坑 * 此方法认为 `0` 和 `-0` 不相同。