- 博客(11)
- 资源 (1)
- 收藏
- 关注
原创 异步(promise)和单线程
一,异步和单线程1,同步和异步的区别(1)基于JS是单线程语言 只能做一件事儿(异步是由于单线程而来)(2)异步不会阻塞代码执行(3)同步会阻塞代码执行遇到等待(网络请求,定时任务)不能卡住。不然界面会卡在那动不了所以需要异步(就是解决单线程)浏览器和node.js已经支持JS启动进程,比如Wbeworker回调callback函数形式基于JS是单线程语言 异步不会阻塞代码的执行Promise 异步主要是解决回调地狱的问题2,手写Promise加载一张图片(代码演示)//手写Pro
2021-05-11 00:13:03
405
转载 当下前端工程师必须了解的性能优化
背景知识:B/S架构什么是B/S架构B/S(Browser/Server,浏览器/服务器)模式又称B/S结构,是Web兴起后的一种网络结构模式。流程1、客户端发送HTTP请求:用户在浏览器中进行操作,浏览器生成HTTP报文,向服务器发送;2、服务端处理请求:接收HTTP报文,解析报文,处理数据,产生响应HTTP报文;3、服务端响应:将用户请求的数据返回给客户端;4、客户端解析HTML文件。性能优化思路从流程的角度出发,我们能不能让客户端请求服务端的速度更快,当服务器接收到数据时,返回给客户
2021-05-09 22:25:32
84
原创 this的应用场景,作用域和闭包
一,this的不同应用场景,如何取值this this取什么值实在函数执行中确认的 不是在定义的时候确认的作为普通函数调用function fn1() {console.log(this);//window}fn1()使用call apply bind 都是可以改变this的指向 绑定什么就是什么fn1.call({ x: 100 })//{x:100} call可以改变this的指向apply()和call方法一样 而apply的第二个参数是一个数组,数组中的元素是和sa
2021-05-09 22:09:04
132
原创 判断一个变量是不是数组 对象是否具有这个属性
如何准确判断一个变量是不是数组instanceof Arrayclass的原型本质原型和原型链的图示属性和方法的执行规则obj.hasOwnProperty(“val”) //判断obj是否具有val的属性
2021-05-09 15:32:25
71
原创 原型链
原型链每个构造函数都有一个原型对象,原型对象都包含一个指向构造函数的指针,而实例都包含一个指向原型对象的内部指针。那么假如我们让原型对象等于另一个类型的实例,结果会怎样?显然,此时的原型对象将包含一个指向另一个原型的指针,相应地,另一个原型中也包含着一个指向另一个构造函数的指针。假如另一个原型又是另一个类型的实例,那么上述关系依然成立。如此层层递进,就构成了实例与原型的链条。这就是所谓的原型链的基本概念。...
2021-05-09 13:21:34
60
原创 class模板和继承的基础应用
class基础应用class是面向对象语法的一个实现,class本质上类似于一个模板,可以利用这个模板去构造一个东西constructor构造函数可以复制属性 方法//这个是类class Girlfriend { //构建实例 //构建的时候的一些事情 constructor(name, height) { //constructor里面传一些参数 对参数赋值或者默认值 还有方法 this.name = name this.height =
2021-05-08 22:13:17
110
原创 JS面试题之引用类型和值类型以及深拷贝
1,typeof能判断哪些类型1,识别所有值的类型基本类型 symbol string,number,boolean,null,undefined,symbol判断是否引用类型(Function,Array,Object)2,何时使用全等 或 双等除了null 或 undefined 以外其他一律全等.3,值类型和引用类型区别值类型不干扰 引用类型会干扰4,手写深拷贝/** * 深拷贝 */const obj1 = { age: 20, name: 'xxx'
2021-05-08 20:05:40
186
原创 js字符串拼接与运算符
1,字符串拼接const a = 100 + 10 //110const b = 100 + ‘10’ //10010const c = 100 + parseInt(‘10’) //110转成数字型方法parseFloatparseIntNumber2,==运算符==是指会先尽量的发生转换让他们相等再进行比较除了判断null之外 其他一律用全等。例如const obj ={x:100}if(obj.x==null) { }相当于if(obj.x=null ||
2021-05-08 19:42:22
517
原创 JS值类型以及深拷贝
JS基础1,值类型分析(占有空间比较少,所以直接赋值 互不干涉)// let a = 100// let b = a// a = 200// console.log(b);//100 两个变量相互不干涉1.1,常见的值类型let a //undefinedconst s ='abc'const n = 100const b =trueconst s =Symbol('S')2,引用类型(一个json一个对象可能会非常大,计算机考虑到这个因素所以就共用一个值)let a =
2021-05-08 18:18:34
87
原创 flex布局(画骰子)
flex布局1,常用语法flex-direction 设置主轴方向 可以横向也可以纵向justify-content 设置主轴对齐方式 从开始对齐 结束对齐 两边对齐 居中对齐align-items 设置侧轴对齐方式 从开始对齐 结束对齐 两边对齐 居中对齐flex-wrap 是否换行align-self 主元素flex子项单独在侧轴对齐方式2,flex画色子<!DOCTYPE html><html><head> <meta charse
2021-05-08 11:18:51
174
原创 前端面试题CSS盒子模型 margin负值 圣杯布局和双飞翼布局 清除浮动
Daily learning#今日份学习:前端面试题CSS面试题盒子模型的宽度如何计算offsetwidth=(内容宽度+内边距+边框)无外边距(122)如果让它等于内容宽度 就加一个盒子边框模型box-sizing: border-box;纵向重叠的问题相邻元素的margin-top和margin-bottom会发生重叠 空内容的p标签也会发生重叠 所以答案是15pxmargin为负值有何效果margin-top和margin-left 负值,元素向上向左移动
2021-05-08 00:40:19
191
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人