前端面试刷题整理

news2024/9/21 0:31:57

第一题:es6 class语法

题目:现有三种菜单,button属性,select属性,model属性

class Mune{
    constructor(title,icon){
        this.title = title
        this.icon = icon
    }
    isDisabled(){
        return false
    }
    exec(){

    }
}
class Button extends Mune{
    constructor(title,icon){
        super(title,icon)
    }
    exec(){
        console.log('hello');
    }
}
class Select extends Mune{
    constructor(title,icon){
        super(title,icon)
    }
    exec(){
        return ['item1','item2','item3']
    }
}
class Modal extends Mune{
    constructor(title,icon){
        super(title,icon)
    }
    exec(){
        let div = document.createElement('div')
        div.innerHTML('modal')
        return div
    }
}

 

第二题:JS的this

题目:普通函数和箭头函数的this指向

const obj = {
    f1(){
        const fn = () => {
            console.log('this1',this);
        }
        fn()
        //指向obj,因为箭头函数没有this指向,箭头函数this指向继承它的父集
        fn.call(window)
        //指向obj,因为箭头函数this指向固定,不能改
    },
    f2: ()=>{
        function fn(){
            console.log('this2',this);
        }
        fn()
        //指向window,因为函数this指向window
        fn.call(this)
        //指向window,因为call(this),
    },
    f3(){
        function fn(){
            console.log('this3',this);
        }
        fn()//指向window,因为函数this指向window
    }
}
obj.f1()
obj.f2()
obj.f3()

题目:calss相关的this指向

class Foo{
    f1(){
        console.log('this1',this);
    }
    f2 = () => {
        console.log('this2',this);
    }
    f3 = () => {
        console.log('this3',this);
    }
    static f4() {
        console.log('this4',this);
    }
}
const f = new Foo()
f.f1()
//指向实例
f.f2()
//指向实例
f.f3.call(this)
//指向实例,箭头函数,不能通过call来改变this的指向
Foo.f4()
//指向class,

 

第三题:JS垃圾回收

题目:JS内存回收使用什么算法?

        答:标记清除。JavaScript中的垃圾回收机制是一种内存管理技术,其主要目的是在不再使用的内存资源被回收前,使其成为可用的内存。标记清除是JavaScript中最常见的垃圾回收技术之一,它通过标记无用的内存资源并清除它们来释放内存。

题目:WeakMap和WeakSet有什么作用?

题目:“栈溢出”是什么?JS执行和栈溢出有什么关系?

第四题:

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

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

相关文章

LeakTracer代码学习(1)

项目中有的时候会产生内存泄漏,以往的经验,检测工具更倾向于使用LeakTracer进行检测泄漏问题,但是直接使用会有些问题,比如堆栈不全都是??等问题,该专题希望自己能够坚持将LeakTracer的源码梳理清楚,以供…

ModaHub魔搭社区:RESTful API 的方式访问全球领先的向量数据库Milvus

目录 Insert CreateIndex and Load Search or Query 作为全球领先的开源向量数据库,Milvus 一直致力于满足不同用户的场景和需求,聆听社区的声音。 最近, 我们发现,很多用户的数据中 常常包含各种不确定类型的数据,也有用户提出希望以 RESTful API 的方式访问 Milvus。…

【HarmonyOS】【FAQ】HarmonyOS应用开发相关问题解答(三)

贴接上回。。。 【往期FAQ参考】 【HarmonyOS】【FAQ】HarmonyOS应用开发相关问题解答(一) 【HarmonyOS】【FAQ】HarmonyOS应用开发相关问题解答(二) 【本期FAQ】 1、第一次调用geolocation.getCurrentLocation()接口&#xff…

一份非常牛逼的计算机相关技术资料整理

最近发现GitHub上一个非常牛逼的项目。作者收录了一整套 计算机相关的技术资料整理。 收录内容包括,但不仅仅包括,比如比较实用的计算机相关技术书籍,可以在短期之内入门的简单实用教程、一些技术网站以及一些写的比较好的博文。真的得给作者…

postman测试传参格式

postman测试传参格式 创建User实体 import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor;Data NoArgsConstructor AllArgsConstructor public class User {private Integer id;private String name; }接口参数是集合 PostMapping("…

大规模语言模型剪枝又一力作,比SparseGPT还快300倍!

©Paperweekly 原创 作者 | An. 单位 | 中科院自动化所 研究方向 | 计算机视觉、模型压缩 DenseNet、ConvNeXt、Network Slimming 一作刘壮研究员的剪枝新工作,针对 LLMs 特点设计的极低成本无需微调的剪枝算法,耗时接近幅值剪枝,性能表…

基于Spring Boot的高校实验室信息管理系统设计与实现(Java+spring boot+MySQL+VUE)

获取源码或者论文请私信博主 演示视频: 基于Spring Boot的高校实验室信息管理系统设计与实现(Javaspring bootMySQLVUE) 使用技术: 前端:html css javascript jQuery ajax thymeleaf 后端:Java springboot…

玩转ChatGPT:Code interpreter (vol. 1)

一、写在前面 喜大普奔,GPT-4传说中的Code interpreter插件已经可以用了!!! 二、什么是Code interpreter 代码解释器(Code Interpreter)是一个工具,它能够读取和执行编程代码。这里有几个主要…

程序请求报错java.lang.NoSuchMethodError

[23-7-3 9:09:19:069 CST] 00000017 ServletWrappe E com.ibm.ws.webcontainer.servlet.ServletWrapper service SRVE0068E:应用程序 east5_20230629_war 中 servlet XXX 的某一服务方法创建了未捕获到的异常。 创建的异常:org.springframework.web.util.NestedServ…

Android 短视频直播特效,音视频图像处理 FFmepg OpenGLES OpenCV开发详细内容

1 音视频开发基础 2 Android OpenGL ES开发基础 3 Android FFmpeg OpenGLES 音视频播放器核心开发 4 Android FFmpeg H.264 AAC 封装mp4 5 Android OpenCV 机器学习人脸标定SDK开发实战 6 Android OpenCV 开发实践 7 Android 短视频App FFmpeg OpenGL ES OpenCV人脸特效渲…

python pytorch 纯算法实现前馈神经网络训练(数据集随机生成)

python pytorch 纯算法实现前馈神经网络训练(数据集随机生成) 下面这个代码大家可以学习学习,这个代码难度最大的在于反向传播推导, 博主推了很久,整个过程都是纯算法去实现的,除了几个激活函数&#xff0…

【前端知识】React 基础巩固(十八)——组件化开发(二)

React 基础巩固(十八)——组件化开发(二) 生命周期 生命周期是一个抽象的概念,在生命周期的整个过程中,分成了很多个阶段 比如装载阶段(Mount),组件第一次在 DOM 树中被渲染的过程比如更新过程…

【C语言】你知道浮点数是怎么存储的吗?

前言 🎈大家好,我是何小侠🎈 🍃大家可以叫我小何或者小侠🍃 💐希望能通过写博客加深自己对于学习内容的理解💐 🌸也能帮助更多人理解和学习🌸 积学以储宝,酌…

Debian 11 x64 安装 MySQL 8.0.33

更新 sudo apt update sudo apt install gnupg安装 DEB Package wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.25-1_all.deb sudo dpkg -i mysql-apt-config_0.8.25-1_all.deb具体版本见官方网站:MySQL Community Downloads,这里仅以版本 …

详解什么是新零售和新零售的四种商业模式

前言 自推出新零售概念以来,新零售已成为当前的热门话题。今天我们将进一步了解什么是新零售。 一、什么是新零售? 新零售,英文是New Retailing,即企业以互联网为依托,通过运用大数据、人工智能等先进技术手段,对商…

VMware虚拟机里的Ubuntu通过主机的代理联网

问题描述:主机win10,通过代理联网。主机里装有VMware的虚拟机Ubuntu,想要通过主机的代理进行上网。 步骤: 1 将虚拟机的网络设置为NAT模式。 2 在win10命令行中输入ipconfig,查询ipv4的局域网地址。(注&…

使用docker安装Nacos,远程连接nacos报错,please check server x.x.x.x ,port 9848 is available

报错: please check server 127.0.0.1 ,port 9848 is available 原因: 当nacos客户端升级为2.x版本后,新增了gRPC的通信方式,新增了两个端口。这两个端口在nacos原先的端口上(默认8848),进行一定偏移量自动生成.。 当客户端升级成2.x版本时&…

[工业互联-20]:常见EtherCAT主站方案:TwinCAT的Windows 解决方案

目录 第1章 TwinCAT简介 第2章 软件架构 第3章 应用程序架构 第1章 TwinCAT简介 TwinCAT是由德国Beckhoff公司开发的一套功能强大的自动化软件平台。 它是一个集成的开发环境,用于实现实时控制、PLC编程、运动控制、HMI(人机界面)设计和…

service 2 暴露服务的 3种 方式

【k8s 系列】k8s 学习十九,service 2 之前我们简单的了解一下 k8s 中 service 的玩法,今天我们来分享一下 service 涉及到的相关细节,我们开始吧 为什么要有 服务 Service? 因为服务可以做到让外部的客户端不用关心服务器的数量…

【二叉树part09】| 669.修剪二叉搜索树、108.将有序数组转换为二叉搜索树、538.把二叉搜索树转换为累加树

目录 🎈LeetCode669. 修剪二叉搜索树 🎈LeetCode108.将有序数组转换为二叉搜索树 🎈LeetCode538.把二叉搜索树转换为累加树 🎈LeetCode669. 修剪二叉搜索树 链接:669.修剪二叉搜索树 给你二叉搜索树的根节点 root…