js
文章平均质量分 64
阿莹yes
积极ing
展开
-
函数柯里化 - js篇
Javascript高级程序设计(第3版):用于创建已经设置好了一个或多个参数的函数。基本方法是使用一个闭包返回一个函数。维基百科:柯里化(英语:Currying),是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术。用大白话来说就是只传递给函数一部分参数来调用它,让它返回一个新函数去处理剩下的参数。输入是一个函数,并且这个函数拥有n个参数输出也是一个函数,并且可以使用fn()()()这种方式调用。原创 2023-06-27 10:44:15 · 317 阅读 · 0 评论 -
[‘1‘, ‘2‘, ‘3‘].map(parseInt) - js篇
规定使用10,但是并不是所有的浏览器都遵循这个规定。一个介于2和36之间的整数(数学系统的基础),表示上述字符串的基数。方法创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。开头, 基数是8(八进制)或者10(十进制),那么具体是哪个基数由实现环境决定。回调函数需要三个参数, 我们通常只使用第一个参数 (其他两个参数是可选的)。函数解析一个字符串参数,并返回一个指定基数的整数 (数学系统的基础)。以其它任何值开头,则基数是10 (十进制)。数组中正在处理的当前元素的索引。原创 2023-06-11 10:28:25 · 552 阅读 · 0 评论 -
数组扁平化的8种方法 - js篇
用简单的话来说,就是将一个。原创 2023-06-05 19:12:04 · 863 阅读 · 0 评论 -
var的变量提升和函数提升 - js篇
代码之前首先对齐进行编译,编译过程中的一部分工作就是找到所有的声明,并用合适的作用域将他们关联起来,这也正是词法作用域的核心内容。且不会被变量声明覆盖。原创 2023-05-31 09:37:44 · 218 阅读 · 0 评论 -
关闭eslint - vue篇
我们在开发vue项目的时候,创建的时候可能会不小心选择了eslint,这个检测规则对于新手来说,简直就是噩梦,会让你崩溃。这些方法基本足以解决这个问题了,但是笔者还是建议各位有了一定开发经验的时候,用上这个检测文件,不仅能培养自己良好的编程习惯,而且容易和团队其他人保持一个风格。上图红框框部分,我项目中的文件内容是这样的,其他项目可能有别的一些内容,我们把框框中的内容注释掉或者去掉就可以了。有这个文件的话,就直接修改这个文件就可以解决。文件,把你不需要校验的文件添加进去即可,文件都不进行校验了,同理,原创 2023-05-22 19:22:17 · 4209 阅读 · 7 评论 -
input限制的正则表达式
input限制的正则表达式。原创 2023-03-13 12:15:40 · 1440 阅读 · 0 评论 -
页面显示超时的问题处理-uniapp
使用构造函数代替 // 格式。原创 2023-02-20 14:16:57 · 268 阅读 · 0 评论 -
new Date() 使用 --- js篇
year的值为:需设定的年份-1900。例如需设定的年份是1997则year的值应为97,即1997-1900的结果。所以Date中可设定的年份最小为1900;hrs的值域在0~23之间。从午夜到次日凌晨1点间hrs=0,从中午到下午1点间hrs=12;month的值域为0~11,0代表1月,11表代表12月;min和sec的值域在0~59之间。date的值域在1~31之间;将字符串形式的日期转换成日期对象。原创 2023-02-13 09:26:46 · 871 阅读 · 0 评论 -
new Set()去重原理 --js篇
`set()` 函数中会先调用对象的 `hash()` 方法,获取 `hash` 结果;如果 `hash` 结果相同,用比较操作符 `==` (也就是调用函数` eq()`)判断二者的值是否相等;如果都相等,去重;否则,`set()` 认为二者不同,两个都保留到结果中。......原创 2022-08-10 14:40:17 · 3141 阅读 · 0 评论 -
数组的去重,截取,转字符串 - js篇
数组的一些处理方式1. 数组的去重 12种方式1.1 利用ES6 Set去重(ES6中最常用)1.2 利用for嵌套for,然后splice去重(ES5中最常用)1.3 利用indexOf去重1.4 利用sort()1.5 利用对象的属性不能相同的特点进行去重(这种数组去重的方法有问题,不建议用,有待改进)1.6 利用includes1.7 利用hasOwnProperty1.8 利用filter1.9 利用递归去重1.10 利用Map数据结构去重1.11 利用reduce+includes1.12 [..原创 2022-01-17 22:40:42 · 811 阅读 · 0 评论 -
理解JS中class的实现原理 - JS篇
目录class类概念与语法class类与原型的关系实例属性和原型属性class类的继承通过extends关键字实现类的继承通过super关键字进行拓展父类构造器或方法static关键字的使用class类概念与语法ES5之前不存在类的概念,创建对象使用的构造函数,通过new操作符来创建;为使JS更像面向对象,ES6版本引入class概念,其基本语法:class Cat{ constructor(name,age){ this.name = name; this.原创 2021-03-10 18:48:05 · 799 阅读 · 1 评论 -
splice的多种用法 - js篇
splice的多种用法:splice(n,m) 从索引n开始删除m个。返回删除项组成新数组splice(n) 从索引n开始删除到末尾splice(n,m,x) 从索引n开始删除m个,并且把x插入到删除的位置splice(n,0,x) 把x插入到索引n的前面用splice模拟数组的其它方法:push => splice(ary.length,0,x)unshift => splice(0,0,x)shift => splice(0,1)pop => spl..原创 2020-11-10 22:35:22 · 301 阅读 · 0 评论 -
js的7种类型 - js篇
文章目录数据类型判断类型有以下4种判读方法第一种方式: typeof第二种方式 instanceof 但是这种方式只适合判断object类型第三种方式 Object.prototype.toString.call() 这种方式可以将全部的数据类型检测出来 也是 推荐的方式第四种方式: constructor 判断对象的构造函。参考链接:https://www.cnblogs.com/amiezhang/p/10325558.html数据类型nullundefined原创 2020-11-10 10:36:38 · 768 阅读 · 1 评论 -
闭包 -- 变量生命周期 - js篇
文章目录那么闭包是什么呢?闭包怎么延长了变量的生命周期呢?我们知道,变量都是有作用域的:在JS中,如果在一个函数里边定义了一个变量(即局部变量),那么这个变量的作用域就是这个函数内部,也就是说只有在这个函数内部才可以访问该变量。那么如果我们想要在函数外部访问这个变量呢?这个时候就可以用闭包,闭包的作用就是延长了局部变量的作用域。那么闭包是什么呢?在JavaScript权威指南中,是这样描述闭包的:函数对象可以和作用域链相互关联起来,函数体内部的变量都可以保存在函数作用域内,这种特性在计算机原创 2020-11-09 09:47:46 · 748 阅读 · 0 评论 -
JS函数柯里化 - JS篇
文章目录柯里化到底是什么来列一列Currying有哪些好处1.参数复用2.提前确认3. 延迟运行curry的性能扩展一道经典面试题了解后发现其实就是高阶函数的一个特殊用法。柯里化到底是什么维基百科上说道:柯里化,英语:Currying(果然是满满的英译中的既视感),是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术。add函数,来做一个简单的实现// 普通的add函数function add(x, y) {原创 2020-11-08 10:00:42 · 143 阅读 · 0 评论 -
es6之对象遍历
目录1. for...in2. Object.keys()3.Object.getOwnPropertyNames(obj)4.Object.getOwnPropertySymbols(obj)5.Reflect.ownKeys(obj)遍历对象共有几种方法呢,分别都是可以获取到什么属性呢?接下来,呈现给你1. for…in循环遍历对象自身的和继承的可枚举属性( 不包含Symbol属性 )。var obj = {'0':'a','1':'b','2':'c'};for(var i in ob原创 2020-11-02 12:06:23 · 1511 阅读 · 0 评论 -
探一探Blob
目录进入正题Blob是什么Blob怎么使用ArrayBuffer 是什么TypedArray 是什么DOMString 是什么练习、实践String转换成Blob对象TypeArray转换成 Blob对象ArrayBuffer转Blob将Blob对象转换成String字符串,使用FileReader的readAsText方法将Blob对象转换成ArrayBuffer,使用FileReader的 readAsArrayBuffer方法文件上传下载,是通过什么方式来实现的,今天来一探究竟进入正题Blo原创 2020-11-02 11:10:09 · 126 阅读 · 0 评论 -
js (回顾一下)十进制转二进制
目录十进制转二进制二进制转十进制十进制转二进制语法:NumberObject.toString(radix)可以把一个number对象转换成一个字符串,并返回结果。radix是可选参数,规定表示数字的基数,是 2~36之间的整数。若省略该参数,则使用基数10。注意:如果该参数是10以外其他值,则ECMAScript 标准允许实现返回任意值。返回值:数字的字符串。抛出:当调用该方法的对象不是Number时,抛出TypeError异常。// let rs1 =原创 2020-11-02 09:53:41 · 792 阅读 · 1 评论 -
JQ操作元素的方法 - js篇
目录获取元素节点添加元素appendChild()append()prepend()appendTo()prependTo()操作同级节点before()after()insertBefore()insertAfter()删除元素removeChid()remove( [selector] )remove()empty()复制节点clone()替换节点$(selector).replaceWith(content)$(content).replaceAll(selector)包裹节点wrap()wrapAl原创 2020-08-03 22:41:39 · 631 阅读 · 0 评论 -
JavaScript数据结构-散列表(哈希表)
目录散列表是什么散列的一些术语(可以简单的看一下)常用的散列函数构建散列表散列表的组成初始化散列函数添加删除查找总结补充一个小知识点散列表是什么散列表(Hash table,也叫哈希表),是根据键(Key)而直接访问在内存存储位置的数据结构。也就是说,它通过计算一个关于键值的函数,将所需查询的数据映射到表中一个位置来访问记录,这加快了查找速度。这个映射函数称做散列函数,存放记录的数组称做散列表。我们从上图开始分析有一个集合U,里面分别是1000,10,152,9733,1555,997,116原创 2020-06-01 22:20:09 · 386 阅读 · 0 评论 -
JSON.stringify() 与 JSON.parse()的区别以及用法
本文标题目录简单概括高级用法JSON.parse()JSON.stringify()toJSON方法用 JSON.stringify 来格式化对象几种妙用判断数组是否包含某对象,或者判断对象是否相等。让localStorage/sessionStorage可以存储对象。实现对象深拷贝简单概括JSON.stringify() 从一个对象中解析出字符串JSON.stringify({"a":"1","b":"2"})// 结果是:"{"a":"1","b":"2"}"JSON.parse()从一个原创 2020-05-26 15:19:29 · 390 阅读 · 0 评论