![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面试准备
Thecai-
这个作者很懒,什么都没留下…
展开
-
Number和parseInt
Number的转换规则 布尔值 true:1 false:0 数值,直接返回 Null 0 Undefind NAN 字符串 如果字符串全部为数值字符,数值字符前面有加减号,转换为十进制数值(忽略前置0) 字符串包含有效浮点值格式,则转换为相应的浮点值 十六进制格式0xf 空字符串为0 其他情况NAN 对象,调用valueOf()方法 一元+操作符的转换规则与Number相同 parseInt的转换规则 字符串最前面的空格会被忽略,因此空字符串转换为NAN par..原创 2021-08-10 23:24:06 · 130 阅读 · 0 评论 -
== 和 ===
区别: ===在比较操作数的时候不会进行强制类型转换 ===注意点 +0 和 -0相等 NAN不相等 为了解决上述两个问题,新增了Object.is(value1,value2)方法。 == 强制转换规则 如果任一操作数是布尔值,将其转换为数值 如果一个操作数是字符串,另一个操作数是数值,将字符串转换为数值 如果一个操作数是对象,另一个操作数不是,则调用对象的valueOf方法取原始值,再根据前面的规则比较 null和undefined相等 NAN不等于任何操作数 如果两个操作数都是..原创 2021-08-10 23:11:08 · 111 阅读 · 0 评论 -
var let const
Var 和 let的区别 let是块级作用域声明,var是函数作用域声明 let声明不会被提升,var声明会被提升(let临时死区) let禁止重复声明,var可以 在循环中使用let声明,每次循环都会创建一个新的i,而var声明始终维护一个变量 全局作用域中的let声明变量,不会被绑定到全局对象上,而var会 Const 每个通过const声明的变量,必须进行初始化。 ...原创 2021-08-10 01:03:17 · 95 阅读 · 0 评论 -
讲讲浮动元素以及如何清除浮动?
浮动 浮动元素同时处于常规流内和流外的元素。其中块级元素认为浮动元素不存在,而浮动元素会影响行内元素的布局,浮动元素会通过影响行内元素间接影响了包含块的布局。 浮动引发的问题 浮动元素不能撑开父元素的高度,如果父元素没有设置高度,而子元素存在浮动元素的话,可能会出现高度塌陷的问题。 清除浮动的方法 直接设置父元素的高度 大部分情况下父元素的高度并不是固定的,而是希望由子元素的高度撑起。 使用BFC(此处可引申考察BFC相关内容) 使父元素成为一个BFC,由于BFC的特性,可以撑起浮动..原创 2021-08-08 17:22:27 · 158 阅读 · 0 评论 -
React中的refs是用来做什么的?
refs是什么? React 中的 Refs提供了一种方式,允许我们访问 DOM节点或在 render方法中创建的 React元素 本质为ReactDOM.render()返回的组件实例,如果是渲染组件则返回的是组件实例,如果渲染dom则返回的是具体的dom节点 使用方法 创建Refs 使用 React.createRef() 创建ref,并通过 ref 属性附加到 React 元素。 class MyComponent extends React.Component { constr..原创 2021-08-08 16:46:37 · 1300 阅读 · 0 评论 -
react中设置key值的作用
在什么场景下需要设置key? 通常应用于列表渲染中,比如通过一个数组渲染出多个列表项时,需要对每一项设置一个唯一的key值来进行标识。 key值的作用 元素key属性的作用是用于判断元素是新创建的还是被移动的元素,从而减少不必要的Diff。 一旦组件加上了key值,react就会在渲染时对该组件的身份进行校验,首先校验新旧组件的key值是不是一致,不一致的话,该组件直接销毁,然后在新建该组件;如果一致,则比较组件的属性是否发生变化,如果发生变化,则采用diff算法进行对比,然后得出差异对象,如..原创 2021-08-08 16:13:45 · 680 阅读 · 0 评论 -
React中组件间的通信方式
通信场景 父子组件间的通信(父->子,子->父) 兄弟组件间的通信 父组件向后代组件的通信 非关系组件间的通信 父组件向子组件传递 父组件在调用子组件的时候,只需要在子组件标签内传递参数,子组件通过props属性就能接收父组件传递过来的参数 function EmailInput(props) { return ( <label> Email: <input value={props.ema原创 2021-08-08 15:44:11 · 195 阅读 · 0 评论 -
React中的事件绑定方法
为什么需要事件绑定? 由于类的方法默认不会绑定this,因此在调用的时候如果忘记绑定,this的值将会是undefined。 通常如果不是直接调用,应该为方法绑定this。 事件绑定方法 在构造函数中使用bind绑定this constructor(props) { super(props); this.handleClick = this.handleClick.bind(this); } 在函数调用时使用bind绑定this <button onClick={this.handl原创 2021-08-08 15:05:24 · 225 阅读 · 0 评论 -
讲讲React中的事件处理
React中的事件处理是什么? React 合成事件(SyntheticEvent)是 React 模拟原生 DOM 事件所有能力的一个事件对象,即浏览器原生事件的跨浏览器包装器。它根据 W3C 规范 来定义合成事件,兼容所有浏览器,拥有与浏览器原生事件相同的接口。 为什么要使用合成事件? 进行浏览器兼容,实现更好的跨平台 避免垃圾回收 方便事件统一管理 合成事件与原生事件的区别? React 事件的命名采用小驼峰式(camelCase),而不是纯小写。 使用 JSX 语法时你需要传入一个函数作原创 2021-08-08 14:47:27 · 125 阅读 · 0 评论 -
讲讲React中的State和Props
基本概念 在React中,组件的数据存储在props和state中。 一个组件的显示形态可以由数据状态和外部参数所决定。 外部参数——props 组件从概念上可以理解为一个函数,因为函数也是封装一个独立可复用的功能,而props就可以理解为函数接收的参数。 props为从外部传入组件内部的数据。 特性 只读性 不变性 在子组件中,props在内部不可变的,如果想要改变它,只能通过外部组件传入新的props来重新渲染子组件,否则子组件的props和展示形式不会改变 数据状态——stat原创 2021-08-08 12:27:17 · 242 阅读 · 0 评论 -
讲讲React的生命周期
创建 constructor() 实例过程中自动调用的方法,在方法内部通过super关键字获取来自父组件的props。 初始化state状态或者在this上挂载方法。 static getDerivedStateFromProps(nextProps, prevState) 第一个参数为即将更新的props,第二个参数为上一个状态的state,可以比较props 和 state来加一些限制条件,防止无用的state更新 该方法需要返回一个新的对象作为新的state或者返回null...原创 2021-08-08 12:04:07 · 64 阅读 · 0 评论 -
简单介绍一下React,及其特性?
简单概括 react是一个用于构建用户界面的JS库,遵循组件化的设计模式。 通过render方法接收输入的数据,并返回要展示的内容 React的特性 jsx语法 单向数据绑定 虚拟DOM 声明式编程 Component 声明式编程 https://zhuanlan.zhihu.com/p/26085755 “在声明式编程中,开发者要做的事情只是描述“我要的是什么样子”,至于具体怎么做,并不是开发者要关心的事情。在React中,每个组件通过render函数返回“这个组件应该长得什么样”,而不原创 2021-08-08 11:30:26 · 226 阅读 · 0 评论 -
grid布局
容器属性 Grid-template-rows grid-template-columns 定义列宽和行高 属性值可以使用repeat()函数 repeat()接受两个参数,第一个参数是重复的次数(上例是3),第二个参数是所要重复的值 有时,单元格的大小是固定的,但是容器的大小不确定。如果希望每一行(或每一列)容纳尽可能多的单元格,这时可以使用auto-fill关键字表示自动填充。 为了方便表示比例关系,网格布局提供了fr关键字(fraction 的缩写,意为"片段")。如果两列的宽度分别为1fr和2原创 2021-08-07 02:31:45 · 221 阅读 · 0 评论 -
讲讲flex的属性
容器的属性 容器指采用flex布局的元素,包含六个属性 flex-direction 决定主轴的方向 row | row-reverse | column | column-reverse flex-wrap 当一条轴线排不下所有项目时,该如何换行 nowrap | wrap | wrap-reverse flex-flow || 的简写形式 默认值为 row nowrap justify-content 主轴对齐方式 flex-start | flex-end | center |原创 2021-08-07 02:00:31 · 59 阅读 · 0 评论 -
CSS知识点记录(一)
分类器 选择器分类:基本选择器 组合选择器 属性选择器 伪类选择器 伪元素选择器 常用的伪类选择器 子元素选择器::first-child last-child nth-child: nth-child(n) nth-last-child(n) nth-of-type(n) Nth-child 和 nth-of-type的区别,nth-child会找到父元素下的第n个元素,如果和指定类型一致,则选中,nth-of-type会先找出所有指定类型的子元素,再找到其中的第n个 CSS单位 em原创 2021-08-06 01:25:35 · 63 阅读 · 0 评论 -
谈谈HTTPS
Https- 超文本传输安全协议 HTTP+SSL/TLS 解决问题: HTTP明文传输不安全的特性 HTTPS过程 客户端通过URL访问服务器建立SSL连接 服务端收到客户端请求后,将网站的证书信息传送给客户端 客户端验证证书信息,通过后协商SSL连接的安全等级 客户端建立会话密钥,通过公钥将会话密钥加密,传送给网站 服务器利用私钥解密会话密钥 利用会话密钥建立通信 为什么需要对称加密和非对称加密结合 非对称加密保障会话密钥传输的安全性,但非对称加密传输效率较慢,需要使用对称加密来进行会话 对原创 2021-08-05 01:22:03 · 64 阅读 · 0 评论 -
谈谈CDN
CDN-内容分发网络 解决问题: 降低网络拥塞,提高用户访问响应速度和命中率 一句话概括:根据用户位置就近分配资源 关键技术包括: 内容存储和分发 概念 CDN服务质量指标:命中率和回源率 命中率:访问资源在缓存系统中,可直接返回 回源率:缓存中没有,通过代理的方式回源站读取 原理 应用CDN时,DNS不再返回IP地址,而是CNAME别名记录,指向CDN的全局负载均衡 访问CDN服务器,进行智能调度,返回最合适的边缘节点,就近访问CDN的缓存代理 回源策略 缓存系统划分层次,分成一级缓存原创 2021-08-05 00:22:37 · 88 阅读 · 0 评论 -
谈谈ES6中的类Class
class是ES6中的新增语法,是一种语法糖, typeof className会返回function 基础用法 class className { constructor(){}; fun() {}; static fun1() {}; } 继承使用 class child extends parent { constructor() { super(); } } 类和自定义类型的区别 函数声明会被提升,类声明不会 类声明中的.原创 2021-08-04 00:53:05 · 82 阅读 · 0 评论 -
ES6 的箭头函数和普通函数的区别?
ES6 的箭头函数和普通函数的区别? 语法更加简洁、清晰 箭头函数没有自己的this,它会捕获自己在定义时(注意,是定义时,不是调用时)所处的外层执行环境的this,并继承这个this值。所以,箭头函数中this的指向在它被定义的时候就已经确定了,之后永远不会改变。 .call()/.apply()/.bind()无法改变箭头函数中this的指向 对象不构成单独的作用域 箭头函数不能作为构造函数使用 涉及知识点:构造函数的过程 因为箭头函数没有自己的this,它的this其实是继承了外层执行环境中原创 2021-03-25 23:50:11 · 126 阅读 · 0 评论