前端面试知识点合集(持续性更新)

原型和原型链

任何函数都可以作为构造函数。当该函数通过 new 关键字调用的时候,就称之为构造函数。

var Parent = function(){}//定义一个函数,那它只是一个普通的函数,不能称它为构造函数var instance = new Parent();
//这时这个Parent就不是普通的函数了,它现在是一个构造函数。因为通过new关键字调用了它
//创建了一个Parent构造函数的实例 instance

prototype函数 特有的属性
概括prototype的作用: 让某一个构造函数实例化的 所有对象 可以找到公共的方法和属性

var Parent = function(){}
Parent.prototype.name="所有Parent的实例都可以读取到我"
let p1 = new Parent();
let p2 = new Parent();
p1.name="所有Parent的实例都可以读取到我"
p1.name //"所有Parent的实例都可以读取到我"
p2.name //"所有Parent的实例都可以读取到我"
p1._proto_ === Parent.prototype;// true

_proto_ 属性是 对象 特有的属性。它表示当前对象的原型 proto 对象是谁。

 总结:每个对象都有一个原型(prototype),并从原型上继承属性和方法。原型本身也是一个对象,它也有自己的原型,形成一个链式结构。这种链式结构就被称为原型链。


constructor属性
constructor 是对象特有的属性。它表示当前对象的 构造函数。在刚刚的例子中,我们使用构造函数Parent()创建了实例对象 p1。因此 p1的 constructor 就是 Parent()。可以 console.log()试试

console.log(p1.constructor);// f Parent(){}

JS中函数也是对象。那么函数是否也有constructor 属性?我们发现构造函数 Parent()也有 constructor 属性。可以 console.log() 试试。

console.log(Parent.constructor);//f Function(){ [native code]}

如果继续追问: Function()是否也有 constructor 属性?可以 console.og()试试。我们发现Function函数的构造函数就是本身了。

console.log(Function.constructor);//f Function(){ [native code]}


Vue 响应式原理 - 发布订阅模式

概念:Vue 会为每个(使用)响应式数据的区域,创建一个订阅者 Watcher,并将这些 Watcher与 Observer 关联起来。为了更好处理,这里使用独立的消息中心 Dep,来为 Observer 管理订阅者。当 Observer 发生改变时,会自动向 Dep 发送信号,Dep 就会通知所有订阅者来进行更新,从而实现数据的变化,有自动更新视图的效果。


屏幕适配方法

方案实现方式优点缺点
vw、vh按照设计稿的尺寸,将 px 按比例计算转为 vw 和 vh

1.可以动态计算图表的宽高,字体等,灵活性较高

2.当屏幕比例跟 ui 稿不一致时,不会出现两边留白情况

1.需要编写公共转换函数,为每个图表都单独做字体、间距、位移的适配,比较麻烦
scale通过 scale 属性,根据屏幕大小,对图表进行整体的等比缩放

1.代码量少,适配简单

2.一次处理后不需要在各个图表中再去单独适配

1.因为是根据 ui稿等比缩放,当大屏跟ui 稿的比例不一样时,会出现周边留白情况
2.当缩放比例过大时候,字体和图片会有一点点失真.
3.当缩放比例过大时候,事件热区会偏意
rem + vw vh

1.获得 rem 的基准值
2.动态的计算 html根元素的 font-size
3.图表中通过 vw vh 动态计算字体、间距、位移等

1.布局的自适应代码量少,适配
简单
1.因为是根据 ui稿等比缩放,当大屏跟ui稿的比例不一样时,会出现周边留白情况
2.图表需要单个做字体、间距、位移的适配

 

async和await的实质 

 

async function m(){console.log(0);const n = await 1;console.log(n);
}
//相当于
// function m (){
//    return Promise.resolv(1).then((n)=> {
//        console.log(n);
//    });
// }
m()
console.log(2);
//控制台输出的是 0 2 1   因为微任务最后输出

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/724150.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用vscode前面几行被定住

当我们使用 vscode 滚动代码文档的时候,发现前面几行被定住了,想 css 的 sticky 一样,可能是之前我们不小心点到了这里,取消就好了

SoundTouch对音频处理(Android)

SoundTouch对音频处理(Android) SoundTouch介绍 SoundTouch 是一个用于音频处理的开源库,主要用于改变音频的速度、音调和音量等特征。您可以在项目中使用 SoundTouch 库来实现音频处理的功能,比如变速播放、音高变化、混响效果…

2024年阿里云服务器配置选择指南_个人和企业如何选择ECS实例规格?

阿里云服务器配置怎么选择?CPU内存、公网带宽和系统盘怎么选择?个人开发者或中小企业选择轻量应用服务器、ECS经济型e实例,企业用户选择ECS通用算力型u1云服务器、ECS计算型c7、通用型g7云服务器,阿里云服务器网aliyunfuwuqi.com整…

亿发生产管控新篇章:mes系统专业推进,引领广州制造厂家数智转型

信息技术在企业发展中扮演着至关重要的角色。然而,随着生产组织方式向多品种、小批量转变,订单不断调整,制定计划需要根据市场和实际作业执行状态,不能仅仅依赖于物料和库存来控制生产。传统的生产现场管理已无法满足当今竞争激烈…

学习计算天数

学习计算天数 题目描述:解法思路:解法代码:运行结果: 题目描述: 输入y和m两个整数,y表示年份,m表示月份,计算y年m月有多少天,并输出天数。 测试1: 输⼊&…

MySQL基础-----SQL语句之DCL数据控制语句

目录 前言 一、管理用户 1.查询用户 2.创建用户 3.修改用户密码 4.删除用户 案例 二、权限控制 1.查询权限 2.授予权限 3.撤销权限 案例 前言 本期我们学习SQL语句的最后一部分内容,也就是数据控制语句DCL。DCL英文全称是Data Control Language(数据控制语…

HarmonyOS NEXT应用开发案例集

概述 随着应用代码的复杂度提升,为了使应用有更好的可维护性和可扩展性,良好的应用架构设计变得尤为重要。本篇文章将介绍一个应用通用架构的设计思路,以减少模块间的耦合、提升团队开发效率,为开发者呈现一个清晰且结构化的开发…

深度学习模型九大经典初始化方案

注意:本文引用自专业人工智能社区Venus AI 更多AI知识请参考原站 ([www.aideeplearning.cn]) 1. 正态分布初始化 正态分布初始化将权重初始化为来自正态(或高斯)分布的随机数。该分布通常以0为均值,其标…

HTTPS是什么,那些行业适合部署呢?

随着在线活动的增加,对您共享的关键数据的威胁已经产生了严重的后果,包括欺诈性金融交易、在线身份盗窃等。此外,随着技术使用的增加,网络攻击也变得更加复杂和具有挑战性。 毫无疑问,互联网用户的数据安全意识成倍增长…

友思特应用 | 轻装上阵:便携式光谱仪,助力食品安全的便捷保障

欢迎访问官网了解更多:智能化手持光谱仪 | Linksqaure光谱仪 | 近红外便携式光谱仪 | 价液体检测台 | 广州友思特科技有限公司 导读 食品安全是一个备受瞩目的话题。在消费电子和光子学的进步推动下,手持式光学仪器可用于食品安全以及质量的评估&#x…

PaddleOCR CPU 文本文字识别 docker部署

需求: 需要把所有滑块图片的数据文字提取出来 启动服务 mkdir paddle cd paddle docker run -itd --name ppocr -v $PWD:/paddle --networkhost -it registry.baidubce.com/paddlepaddle/paddle:2.1.3-gpu-cuda10.2-cudnn7 /bin/bash docker exec -it ppocr bash …

蓝牙网关在智慧医疗的应用

蓝牙网关在智慧医疗的应用已经逐渐得到广泛关注。作为一种无线通信技术,蓝牙网关能够将各种蓝牙设备连接起来,实现数据传输和信息共享。在智慧医疗领域,蓝牙网关的应用不仅可以提高医疗服务的效率和质量,还可以为患者带来更好的医…

2024年Android开发陷入饱和,,面试杀手锏

背景介绍 现在是一个信息大爆炸的时代,互联网世界中存在着无数的数据。信息就是这个时代最宝贵的资源,拥有了资源就相当于。互联网是块风水宝地,里面藏了无数的宝藏!能不能挖到就看本事了。谁拥有了最全、最准确的信息&#xff0…

Jmeter 压测 —— 利用Docker分布式压测!

Jmeter分布式测试环境中有两个角色:Master 和 Slaves Master节点:向参与的Slaves节点发送测试脚本,并聚合Agent节点的执行结果。Slaves节点:接收并执行Master节点发送过来的测试脚本,并将执行结果返回给Master。 为什…

threejs展示glb模型

原模型为rvt模型 <template><div ref"threeJsContainer"class"three-js-container"></div> </template> <script> import { defineComponent } from "vue"; import * as THREE from "three"; import…

npm 私服以及使用

在工作中&#xff0c;公司有很多内部的包并不希望发布到npm官网仓库&#xff0c;因为可能涉及到一些私有代码不能暴露。对于前端来讲&#xff0c;这时就可以选择在公司内网搭建npm私有仓库。当前比较主流的几种解决方案&#xff1a;verdaccio、nexus、cnpm。大家可以按照自己的…

GEE遥感云大数据林业应用典型案例实践及GPT模型应用

近年来遥感技术得到了突飞猛进的发展&#xff0c;航天、航空、临近空间等多遥感平台不断增加&#xff0c;数据的空间、时间、光谱分辨率不断提高&#xff0c;数据量猛增&#xff0c;遥感数据已经越来越具有大数据特征。遥感大数据的出现为相关研究提供了前所未有的机遇&#xf…

SDWAN专线,解决银行网络搭建痛点

金融行业的不断发展和数字化转型&#xff0c;银行网络的搭建和管理面临着诸多挑战和痛点。SD-WAN&#xff08;Software-Defined Wide Area Network&#xff0c;软件定义广域网&#xff09;专线作为一种创新的网络解决方案&#xff0c;为银行解决了诸多网络搭建痛点&#xff0c;…

【教程】uni-app iOS打包解决profile文件与私钥证书不匹配问题

摘要 当在uni-app中进行iOS打包时&#xff0c;有时会遇到profile文件与私钥证书不匹配的问题。本文将介绍如何解决这一问题&#xff0c;以及相关的技术细节和操作步骤。 引言 在uni-app开发过程中&#xff0c;iOS打包是一个常见的操作。然而&#xff0c;有时会出现profile文…

【vue.js】文档解读【day 2】 | 响应式基础

如果阅读有疑问的话&#xff0c;欢迎评论或私信&#xff01;&#xff01; 本人会很热心的阐述自己的想法&#xff01;谢谢&#xff01;&#xff01;&#xff01; 文章目录 响应式基础声明响应式状态(属性)响应式代理 vs 原始值声明方法深层响应性DOM 更新时机有状态方法 响应式…