- 博客(37)
- 收藏
- 关注
原创 记两个个小小小的点
console.log(2==2==2)//falseconsole.log(1==1==1)//trueconsole.log(1===1===1)//false先比较前一对,然后返回值为Boolean值ture或者false,然后再用Boolean和下一个比较,==转换类型比较,===直接严格比较
2021-08-10 00:13:56 119
原创 用构造函数Function创建函数实例
有一个函数fnfunction fn(a,b){ console.log(a+b) return 'ok'}console.log(fn.toString())为构建新函数let fn4=new Function()console.log(fn4.toString())let fn4=new Function('function newfn(a){console.log(a)}')console.log(fn4.toString())fn4(1)执行不了凑一.
2021-08-09 01:06:19 380
原创 new和Object.create的学习
new的学习Object.create()的学习Object.definePropertiesObject.create()// 字面量let obj={ a:1, b:2}// new//构造函数 Test 并没有显式 return 任何值(默认返回 undefined)//构造函数如果返回原始值(虽然例子中只有返回了 1,但是你可以试试其他的原始值,结果还是一样的),那么这个返回值毫无意义function Test1(name) { this.name = name
2021-08-08 16:51:48 142
原创 新的一天新的难题---生成器
迭代作用MDN文档function* gen() { yield 1; yield 2; yield 3;}let g = gen();console.log(g.next())//{ value: 1, done: false }function* generator(i) { yield i; yield i + 10;}const gen = generator(10);console.log(gen.next().value);// expecte.
2021-08-07 15:24:37 70
转载 高阶函数方法实现
//filter cur index arrlet a=[1,2,3,4,5,6]let c=a.filter(v=>v>2)console.log(c)//[ 3, 4, 5, 6 ]//filter实现const fn=function(v){ return v>2}Array.prototype.filter1=function(fn){ let newArr=[] for(let i=0;i<this.length;i++){ fn(this
2021-08-07 01:13:37 127
原创 数组集合操作
求集合并集let a=[1,2,3]let b=[2,3,4]let union=new Set(a.concat(b))console.log([...union])console.log(Array.from(union))//----------------------//去重合并 任意数组去重求并集const fn=function () { let res=Array.prototype.concat.apply([],arguments) return Array
2021-08-06 23:39:36 67
转载 防抖和节流
秋招季,前端怎么能不问性能优化,性能优化怎么可能没有防抖和节流防抖和节流 let num = 1; const content = document.getElementById('content'); // 功能函数 function count() { this.innerHTML = num++; }; content.onclick = debounce(count,1000);// 防抖函数,非立即执行版本 function debounce(func.
2021-08-06 11:11:22 83
原创 记两题事件循环
console.log('1');//1.1setTimeout(function() {//1.宏1 console.log('2');//3.2 process.nextTick(function() {//3.微1 console.log('3');//4.3 }) new Promise(function(resolve) { console.log('4');//3.4 resolve();//3.微2 .
2021-08-03 14:44:45 82
原创 没脑子的人遇到智力题只能记下来。。。
最近秋招提前批遇到智力题对不起我是真没脑子题11000个苹果放10个盒子里,你放完后,我提出任意数字,你都要从盒子里面凑出这个数我现在知道答案就觉得理所应当了二进制,然后2的十次方1024 题目2如何使得a===1 && a===2用Object.defineProperty()改构造器getstackoverflow...
2021-08-02 00:02:06 61
原创 mac的cmd和option作用反了
mac的cmd和option作用反了mbp m1接的罗技k380今天不知道按到什么键mac的cmd和option作用反了 cmd+c不是复制,变成option加c的操作,输出希腊字符本来直接设置键盘的option和command对调也能行官网找fn+I键盘会根据系统自动切换模式,OK...
2021-07-30 09:54:23 6336
原创 函数柯里化
我对函数柯里化的认知function add1(a) { return function (b) { return a+b }}console.log(add1(1)(2));//3面试题手撕不出来的柯里化–我裂开????const curry1=function (fn,...args) { if(args.length>=fn.length){ return fn(...args) }else{
2021-07-27 03:01:04 211
转载 apply\call\bind
call改变this指向,传递参数(单个),并将函数执行apply改变this指向,传递参数(数组),并将函数执行bind生成一个绑定this并预设函数参数的新函数
2021-07-17 11:10:29 65
原创 偏函数和柯里化
偏函数现有的一些参数值固定,从而让函数更加灵活 function mul(a, b) { return a * b; } let double = mul.bind(null, 2); alert( double(3) ); // = mul(2, 3) = 6 alert( double(4) ); // = mul(2, 4) = 8 alert( double(5) ); // = mul(2, 5) = 10柯里化柯里化简单来说
2021-07-17 10:13:08 276
原创 深拷贝和浅拷贝
深拷贝``var a=[]console.log(typeof a )//'object'// console.log(typeof a == object)// ReferenceError: object is not definedconsole.log(typeof a == 'object')// trueconsole.log(typeof a == 'array')// falseconsole.log( a.constructor=== Object)//falseconso
2021-07-16 16:53:42 100
原创 深拷贝的三种方法
深拷贝首先说一下深拷贝的实现对象肯定是引用类型,比如Array和Object这样的,因为基本类型比如Number、String的值不可变的,这里的不可变就是数值本身的不可变,比如说2你不能凭空变成1,如果你说我的数值变量能够多次赋值啊,那和我这个不一样,你的是基本数据类型在栈中存储,栈中存的值,然后你赋给另外的值,那就是栈里面存的值变成了新的赋值。然后这里也顺便说,引用对象的变量是存在栈里面的,存的是被引用对象在堆里面的地址堆和栈的区别大致是具体叙述栈是自动分配固定大小的空间内存,比如int是多少
2021-07-15 19:48:28 1697
原创 作用域相关问题
事情是这样开始的:准备回顾一下今天的笔试题=>splice和slice的整理=>mdn上slice转换类数组的案例=>call、apply、bind=> 在学习深拷贝与浅拷贝=>找到一篇文章讲了下基本类型
2021-07-15 12:33:03 67
原创 神级二叉树遍历
morrislet [n,root]=readline().split(' ').map(item=>parseInt(item))let myMap=new Map()while(n--){ let [fa,lch,rch]=readline().split(' ').map(item=>parseInt(item)) myMap.set(fa,[lch,rch])}const listNode=function(val){ this.val=val
2021-07-13 10:12:15 89
原创 算法题之我好苦
var arr = Array(3).fill({}) // [{}, {}, {}];// 需要注意如果fill的参数为引用类型,会导致都执行都一个引用类型// 如 arr[0] === arr[1] 为truearr[0].hi = "hi"; // [{ hi: "hi" }, { hi: "hi" }, { hi: "hi" }]
2021-06-25 17:09:24 37
转载 grunt学习
安装安装cli npm install -g grunt-cli有package.json 和 Gruntfile 文件后 grunt构建package.json: 项目依赖的grunt和Grunt插件,放置于devDependencies配置段内。npm install 安装其中依赖Gruntfile: 此文件被命名为 Gruntfile.js 或 Gruntfile.coffee,用来配置或定义任务(task)并加载Grunt插件的。 此文档中提到的 Gruntfile 其实说的是一个文件
2021-06-18 11:40:47 145
原创 gulp学习
任务化 基于流gulpfile.jsvar gulp=require('gulp')// 注册任务gulp.task('test_name',function(){})// 注册默认任务gulp.task('default',['teat_name'])gulp执行错误ReferenceError: primordials is not defined查明原因 gulp3.9.1版本低了,node 12.18.3版本高了npm unstall gulpnpm install
2021-06-15 17:59:11 116
原创 vue3+Ts
typescriptJavaScript的超集,最终会被编译为JavaScript代码,主要提供了类型系统和对 ES6+ 的支持特点始于JavaScript,归于JavaScript强大的类型系统先进的 JavaScript安转npm install -g typescripttsc -V src/helloworld.tsfunction greeter (person) { return 'Hello, ' + person}let user = 'Yee'
2021-05-26 10:32:04 1722 1
原创 项目踩坑
Vue1、index.html中不能引入src目录下的文件,否则即使不报错,样式也会无效。因为src里的文件会用webpack打包!
2021-05-24 15:00:10 5534 1
转载 webpack
这东西想要学习好多次,但是都没有坚持啊学完,现在还是一头雾水,整备找教程学,但是好像和当前版本差别比较大,算了,这次跟着官方文档学,能学多少学多少。概念js程序的静态模块打包器,递归构建依赖关系图,其中包含程序包含的模块,把模块打包成一个或者多个bundle(捆,束缚)高度可配置,灵活性高四个核心概念 入口 输出 loader 插件入口(entry)简单,就是webpack从哪个模块开始构建依赖和打包,找相关依赖打包到dunles单个入口的写法entry: string|Ar
2021-05-17 10:37:33 122
转载 RxJS
学习网址官方文档RxJS 是一个库,它通过使用 observable 序列来编写异步和基于事件的程序可以处理同步数据,但是没必要竞速问题、客户端发送请求与服务器响应请求前后顺序有偏差,就会导致呈现的内容与预期的不一致。现在一般为了保证服务器性能,大家都会用节流防抖来避免竞速问题的产生状态管理不如redux和vuex管理websocket异步数据的筛选和处理发布订阅...
2021-05-12 11:08:16 85
转载 前端模块化 commonJs ES6 AMD CMD
前端模块化学习网址模块化的开发方式可以提高代码复用率,方便进行代码的管理。通常一个文件就是一个模块,有自己的作用域,只向外暴露特定的变量和函数。目前流行的js模块化规范有CommonJS、AMD、CMD以及ES6的模块系统commonJS我们都知道在早期JavaScript模块这一概念,都是通过script标签引入js文件代码。当然这写基本简单需求没有什么问题,但当我们的项目越来越庞大时,我们引入的js文件就会越多,这时就会出现以下问题:js文件作用域都是顶层,这会造成变量污染js文件多,变得不
2021-05-12 10:46:42 96
原创 css动画-方块
css动画 * { padding: 0; margin: 0; } body { width: 100vw; height: 100vh; background-color: #2c3e50; display: flex; justify-content: center; align-items: center; } main {
2020-11-24 23:48:35 266
转载 icss学习之单行居中,多行居左,超过省略
<div class="container"> <h2><p><em>我是单行标题居中</em></p></h2> <h2><p><em>我是两行标题两行标题两行标题居左</em></p></h2> <h2><p><em>我是超过两行的标题最后点号省略我是超过两行的标题最后点号省略我是超过两行的标题最后点号省略省
2020-11-18 21:59:45 469 1
原创 艰难学习codepen之landscape
学习自codepen大概就是css画图学习html部分 <div class="container"> <div class="disc-1"></div> <div class="disc-2"></div> <div class="disc-3"></div> <div class="landscape-1"></div> <
2020-11-08 00:40:02 398
转载 icss之继承inherit
学习自link目标为图片添加倒影1、div{ -webkit-box-reflect: below; }box-reflect 有四个方向可以选,below | above | left | right 代表下上左右。2、继承inheritdiv::after { content: ""; position: absolute; top: 100%; left: 0; right: 0; bottom: -100%; background-
2020-11-07 19:50:18 230
原创 icss之层叠顺序、堆栈上下文
interesting css之层叠顺序、堆栈上下文层叠顺序(stacking level)与堆栈上下文(stacking context)学习自: icss.层叠顺序(stacking level)与堆栈上下文(stacking context)拥有共同父容器的两个 DIV 重叠在一起,是 display:inline-block 叠在上面,还是 float:left 叠在上面?<!DOCTYPE html><html lang="en"><head>
2020-11-05 12:09:19 775
原创 nodejs技术栈
nodejscommonjs的加载过程ES Module加载过程requirecommonjs的加载过程运行时加载,同步加载ES Module加载过程解析时加载,异步require1、核心模块2、./ 目录查找没有后缀名按直接文件名、js、json、node查找找到一个目录x 找x/index .js .json .node3、x无路径核心模块...
2020-11-04 20:54:38 270
原创 前端需求
从今天起努力成为前端工程师前端需求技术冲就完了!!!前端需求招聘网找的前端要求技术1、H5、CSS、JS、jQuery、Bootstrap、Vue2、微信小程序3、HTTP等网络通信协议4、熟练掌握目前主流的前端开发框架至少一种:如Flutter、ReactJS、VueJS、AngularJS等,熟悉组件化开发;5、熟悉canvas、svg、webgl6、脚本语言用1种以上的脚本语言,包括:Shell、PERL、PHP、Python7、熟练掌握ES6语法以及 Less / Sass 等扩
2020-11-04 20:01:18 599
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人