笔记
soupJian前端养成记
只有非常努力才会毫不费力
展开
-
手写 promise
手写promise实现then方法原创 2021-12-09 18:16:08 · 540 阅读 · 0 评论 -
npmFix the upstream dependency conflict, or retry npm ERR! this command with --force, or --legacy-pe
问题原型解读因为node7在某些事件处理上比node6更加严格,解读上面的报错信息,找到解决方案解决npm install --legacy-peer-deps 即可成功安装 node_modules原创 2021-07-06 11:22:51 · 21015 阅读 · 6 评论 -
npm 运行出错问题 code: “-4058“ 和 syscall:“node_modules\\esbuild\\esbuild.exe“
问题描述这里报错是**-4058**问题,以及找不到node_modules/esbuild/esbuild.exe文件问题溯源lissuse:github中解决办法安装在 项目根目录下运行 node ./node_modules/esbuild/install.js 即可生成 缺失的.exe文件重新运行启动即可完成安装启动成功...原创 2021-07-06 10:41:43 · 4759 阅读 · 1 评论 -
前端获取上传的文件大小以及文件格式
一、获取上传的文件大小-----html-----------<input type="file" onChange="upload();" id="upload" />----javascript------function upload(){ var size = event.target.files[0].size / 1024 / 1024 if(size > 10){ alert(上传的文件大于10M,请重新选择上传) }}二、获取上传的文件格式----原创 2021-02-24 09:26:55 · 2569 阅读 · 1 评论 -
电话面试-----海康威视
谈谈你的项目经历,遇到的困难js继承机制js new一个对象内部是怎么实现的创建一个空对象,将它的引用赋给 this,继承函数的原型。通过 this 将属性和方法添加至这个对象最后返回 this 指向的新对象,也就是实例(如果没有手动返回其他的对象)js事件循环js事件委托冒泡 阻止冒泡找到元素,ul > 无数个li标签,都有点击事件,如何处理 => 给 ul一个点击事件,会自动冒泡道外层 => jq中常有捕获阶段: 从外到内 从内到外function bub原创 2020-09-26 11:29:43 · 1067 阅读 · 0 评论 -
深拷贝与浅拷贝
深拷贝与浅拷贝与赋值之间的关系原创 2020-09-21 11:51:08 · 96 阅读 · 0 评论 -
(n - 1) & n的妙用,以及进制转换
今天在练习一篇算法时,遇到这么一个问题输入一个整数,输出该数32位二进制表示中1的个数。其中负数用补码表示题目意思就是输入一个数,转化为二进制,看二进制数中有几个1 function NumberOf1(n) { var count = 0; while (n != 0) { count++; n = (n - 1) &原创 2020-09-05 12:07:28 · 857 阅读 · 0 评论 -
算法 --- 二分法
二分法二分法是算法中比较重要的一个算法,昨天刷题遇到了,今天来总结一下二分法就是逐渐缩小一半区间,直到匹配成功二分法适合已经排序好的数组循环二分法// n 是数组长度, v是猜测的数, a是数组function xunhuan(n, v, a) { // 当左右区间相等时候就表示找到了那个数的位置 let left = 0 let right = n while (left < right) { let原创 2020-09-03 16:19:33 · 246 阅读 · 0 评论 -
js字符串常用方法
今天来介绍字符串有哪些方法var str = 'hello javaScript'charAt() 返回指定位置的字符console.log(str.charAt(2)) // charCodeAt() 返回指定位置的字符串编码console.log(str.charCodeAt(0)) // 104String.fromCharcode() 接收一个或多个字符编码,转换成字符串,与charCodeAt相反str[1] // e ie8+ 类似于看成一个数组concat() 字符原创 2020-08-30 21:54:35 · 236 阅读 · 0 评论 -
数组乱序---洗牌算法
我曾在写我的vue-music的时候,切换随机播放,就需要用到使用数组乱序,然后学习了一下,总结如下洗牌算法:shuffle深度打乱1.倒序循环这个数组2.取范围从 0 到 i 的随机索引 j3. i 与 j 位置交换4.直到循环至数组的首个元素 function shuffle(arr) { let i = arr.length; for(let i = arr.length-1; i >= 0;i--) {原创 2020-08-26 23:19:45 · 372 阅读 · 0 评论 -
js数组去重
js数组去重是学习前端js算法必备这个是数组去重,首先得判断是不是数组,可以看我的第一片篇博客数组?对象?只有数组需要去重var arr = [ 1,2,3,4,3,2,3,2,1,"1","2",NaN,NaN,undefined,undefined]es6中的Set方法es6作为现在前端求职必备,所以放在第一个来讲,方法好在NaN在Set中是一样的 // es6的Set方法 function unique(arr) { return A原创 2020-08-06 22:34:40 · 122 阅读 · 0 评论 -
实战算法一
js实战算法一一、古典问题有一对兔子,从出生后第三个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子不死,问每个月的兔子总数为多少?如 1 1 2 3 5 8 13**分析:**三个月一批,假设 a为第一个月的兔子总数,b为第二个月兔子总数,c 为第三个月的兔子总数,我们就直接从第二个月结束开始,第二个月兔子 b 全部长大,那么第三个月兔子,就等于已有的老兔子加上 b,并且可以生育出等同的新兔子 a,原来的第一个月兔子 a 就长大成为第二个月兔子b function su原创 2020-08-04 17:23:19 · 82 阅读 · 0 评论 -
js实现数字排序方法
对于排序算法肯定不陌生吧,让我们来见识见识常用算法有哪些呢?冒泡排序1.冒泡排序这因该算我们熟悉的第一个排序方法吧,就是每次比较两个数字,通过判断进行前后交换,知道数组中没有可以交换的数,算法结束function maopao(arr) { // 英语不好 var len = arr.length; for (var i = 0; i < len-1; i++) { for (var j = i+1; j < len; j++) { // 确保 j 比 i 大 1 if原创 2020-07-25 01:31:01 · 6143 阅读 · 0 评论 -
数组常用方法
数组常用方法var a = ['1','2','3','4','5','6','7','8','9']length 获取数组长度console.log(a.length) // 9join 数组连接样式console.log(a.join()) // 1,2,3,4,5,6,7,8,9 默认逗号连接console.log(a.join("-")) // 1-2-3-4-5-6-7-8-9 自定义链接push 向数组最后添加一项a.push("10")// ['1','2','3','原创 2020-07-22 22:12:43 · 304 阅读 · 0 评论 -
数组?对象?js区分?
如何判断是数组还是对象判断是否为数组var a = ['1','2','3','4','5','6','7','8','9']var b = {'a': 'a1','b': 'b1','c': 'c1','d': 'd1'}肉眼观察形式上数组和对象结构上不一样利用typeof判断类型?错误 ,这里介绍一下新的方法 constructorconsole.log(typeof a) // objectconsole.log(typeof b) // object// 注意咯console原创 2020-07-22 20:01:59 · 105 阅读 · 0 评论