JavaScript
rosie肉肉
曾在北京字节跳动、深圳乐信分期乐部门实习,现任职于shopee深圳总部,从事前端开发,是一个爱交朋友的程序媛,欢迎探讨生活和技术上的问题
展开
-
【JavaScript基础】深入了解JS的闭包
闭包是JS中一个重要的概念,也是面试中的重点,相信大家在面试中都会碰到这样的几个问题: 1. 请你说说什么是闭包? 2. 请你说说闭包有哪些应用? 3. 请你说说闭包有哪些优缺点? 大家都是怎么回答这几个问题的呢?在网上的文章中对闭包的概念都有不同的说法,导致很多人对闭包没有一个清晰的概念,接下来就和我一起探究什么是闭包。 首先...原创 2020-04-16 22:40:44 · 214 阅读 · 0 评论 -
LeetCode二叉树相关部分题目——js解法
写好递归函数,二叉树的简单问题就基本解决了,以下整理了二叉树的一些简单题目,难度递增。数据结构:function TreeNode(val) { this.val = val; this.left = this.right = null;}1.相同的树题目描述:给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认...原创 2019-03-07 19:15:35 · 464 阅读 · 0 评论 -
实现 es6 Promise 原理
const PENDING='pending'const RESOLVED='resolve'const REJECTED='rejected'function myPromise(fn){ var that=this this.value='' this.resolveCal...原创 2019-03-19 16:31:37 · 366 阅读 · 0 评论 -
js算法题/前端面经总结(一)
1.实现链表的反转(function (){ var node3 = { name:'obj3', next:null } var node2 = { name:'obj2', next:obj3 }...原创 2019-03-03 15:26:16 · 372 阅读 · 0 评论 -
JavaScript里的深浅拷贝原理及方法
深浅拷贝是在复制复杂类型的值引用时的概念,我们在对象和数组中讨论它的深浅拷贝浅拷贝概念:浅拷贝既只拷贝对象的基本类型的值,并不复制引用类型的值而是引用它的指针,看以下的例子:可以看到当a改变时b也不得不跟着改变,这就是“拿人手短”,因为它只是引用了原来对象的指针,取了它的基本类型的值。深拷贝概念:深拷贝可以拥有一个对象的所有属性和方法,实现真正的“独立自主”,不引用原来对象的指针,开辟...原创 2019-01-14 15:27:09 · 739 阅读 · 0 评论 -
前端性能优化总结(二)
CSS选择符在大多数人的观念中,都觉得浏览器对 CSS选择符的解析式从左往右进行的,例如#toc A { color: #444; }这样一个选择符,如果是从左往右解析则效率会很高,因为第一个 ID选择基本上就把查找的范围限定了,但实际上浏览器对选择符的解析是从右往左进行的。如上面的选择符,浏览器必须遍历查找每一个 A标签的祖先节点,效率并不像之前想象的那样高,所以在写选择符的时候需要注意很多事...原创 2019-01-12 19:21:05 · 196 阅读 · 0 评论 -
前端性能优化总结(一)
一.减少http请求消耗资源1.Css Spritescss sprites是将多幅图融合到一张图片里,这样可以减少图片的请求数量,再通过css技术把想要的图片样式展示在浏览器页面上,虽然合成的图片会比较大,但这样做确实可以减少请求资源的消耗。2.Inline Image使用 data: URL scheme的方式将图片嵌入到页面或 CSS中,scheme有:data:image/...原创 2019-01-12 18:26:37 · 206 阅读 · 0 评论 -
JS数组去重的几种实现方法
//使用indexOf function unique1(arr) { var result=[]; for(var i=0;i<arr.length;i++){ if(result.indexOf(arr[i])==-1){ result.push(arr[i]); } } return result; } //利用对象属性不能重...原创 2019-01-12 13:18:30 · 158 阅读 · 0 评论 -
js杨辉三角控制台输出两种解法
1 1 1 1 2 1 1 3 3 1 1 4 6 4 11 5 10 10 5 1........观察这样的一组数,找出规律,用控制台输出这样规律的数规律:这是杨辉三角,每一行头尾的数都是1,其余的数是上一行对应的数字相加。一.使用递归算法。js代码如下: function combination(m,n...原创 2019-01-12 13:12:15 · 579 阅读 · 0 评论 -
关于JS的事件机制、EventLoop、线程模型
事件机制分为:事件捕获阶段、目标阶段和冒泡阶段。冒泡是指一个事件的目标由里层向外层冒泡,以点击事件onclick举例,用事件绑定onclick的写法会出现事件冒泡,可以用事件监听的写法Object.addEventListener('click',(e)=>{...},boolean),第三个参数是布尔值,true为事件捕获,false为事件冒泡,IE浏览器的兼容写法是Object.at...原创 2018-12-31 16:00:13 · 221 阅读 · 0 评论