四级文件(测试)
测试文件Test Test 12yarn create vuepress-site [optionalDirectoryName]# OR npx create-vuepress-site [optionalDirectoryName] 1npx create-vuepress-site [optionalDirectoryName] 来源:本文导入自 xugaoyi/vuepress-theme-vdoing 的 docs/01.前端/25.JavaScript文章/1110.三级目录/00.四级文件.md。原作者:xugaoyi。许可证:MIT。
比typeof运算符更准确的类型判断
比typeof运算符更准确的类型判断不同数据类型的Object.prototype.toString方法返回值如下。 数值:返回[object Number]。 字符串:返回[object String]。 布尔值:返回[object Boolean]。 undefined:返回[object Undefined]。 null:返回[object Null]。 数组:返回[object Array]。 arguments 对象:返回[object Arguments]。 函数:返回[object Function]。 Error 对象:返回[object Error]。 Date 对象:返回[object Date]。 RegExp 对象:返回[object RegExp]。 其他对象:返回[object Object]。 这就是说,Object.prototype.toString可以看出一个值到底是什么类型。 12345678Object.prototype.toString.call(2) // "[object Number]"Object.pro...
JS获取和修改url参数
JS获取和修改url参数获取url参数123456789101112/** * 获取url里的参数 * @param arg 参数名 * @returns */function getURLString(arg) { var reg = new RegExp("(^|&)" + arg + "=([^&]*)(&|$)", "i"); var r = window.location.search.substr(1).match(reg); if (r != null) return unescape(r[2]); return null;} 修改url参数12345678910111213141516171819202122/** * url地址修改 * @param url 待修改url * @param arg 修改的参数名 * @param arg_val 修改的具体值 * @returns {String} ...
JS随机打乱数组
JS随机打乱数组12345678910111213function shuffle(arr) { // 随机打乱数组 let _arr = arr.slice() // 调用数组副本,不改变原数组 for (let i = 0; i < _arr.length; i++) { let j = getRandomInt(0, i) let t = _arr[i] _arr[i] = _arr[j] _arr[j] = t } return _arr}function getRandomInt(min, max) { // 获取min到max的一个随机数,包含min和max本身 return Math.floor(Math.random() * (max - min + 1) + min)}
判断是否为移动端浏览器
判断是否为移动端浏览器123456const flag = navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i);if(flag){ // 移动端} else { // PC端} 来源:本文导入自 xugaoyi/vuepress-theme-vdoing 的 docs/01.前端/25.JavaScript文章/60.判断是否为移动端浏览器.md。原作者:xugaoyi。许可证:MIT。
new命令原理
new命令原理 使用new命令时,它后面的函数依次执行下面的步骤: 创建一个空对象,作为将要返回的实例对象。 将这个空对象的原型,指向构造函数的prototype属性。 将这个空对象赋值给函数内部的this关键字。 开始执行构造函数内部的代码。 如果构造函数内有返回值且为对象类型,则返回该对象,否则返回上面创建的实例对象。 12345678910111213141516171819202122232425262728293031323334353637383940414243// 构造函数function Person(name,age){ this.name = name this.age = age}// 自定义_newfunction _new() { // 将 arguments 对象转为数组 var args = [].slice.call(arguments); // 取出构造函数 var constructor = args.shift(); // 创建一个空对象,继承构造函数的 prototype 属性 ...
多种数组去重性能对比
多种数组去重性能对比测试模板12345678910111213141516171819202122// 创建一个 1 ~ 10w 的数组,Array.from为ES6语法let arr1 = Array.from(new Array(1000000), (x, index) => { return index})let arr2 = Array.from(new Array(500000), (x, index) => { return index + index})let start = new Date().getTime()console.log('开始数组去重')// 数组去重function distinct(a, b) { let arr = a.concat(b); // 去重方法}console.log('去重后的长度', distinct(arr1, arr2).length)let end = new Date().getTime()con...









