当前位置: 首页 > news >正文

前端面试基础面试题——2

1.什么是json? json可以存在哪几种数据类型?在什么时候用?

2.什么是作用域?

3.http和https分别是什么?区别是什么?

4.介绍一下js的节流与防抖?

5.什么是cookie?cookie的优缺点。

6.js的三种排序方法,并分别说明原理

7.栈和队列的区别?

8.math对象是什么?有什么用?

9.js中浅拷贝和深拷贝的区别

10.js延迟加载的方式有哪些?


1.什么是json? json可以存在哪几种数据类型?在什么时候用?

JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation)

JSON 是轻量级的文本数据交换格式

JSON 独立于语言:JSON 使用 Javascript语法来描述数据对象,但是 JSON 仍然独立于语言和平台。

JSON 值可以是:

          数字(整数或浮点数)

         字符串(在双引号中)

         逻辑值(true 或 false)

         数组(在中括号中)

         对象(在大括号中)

         Null

JSON格式通常用于通过网络连接序列化和传输结构化数据。 它主要用于在服务器和Web应用程序之间传输数据,是XML的替代方法。

2.什么是作用域?
作用域是在运行时代码中的某些特定部分中变量,f函数和对象的可访问性。换句话说,作用域决定了代码区块中变量和其他资源的可见性。
3.http和https分别是什么?区别是什么?

 http协议:是超文本传输协议     https协议:是具有安全性的ssl加密传输协议

 传输信息安全性不同: http明文传输,https加密传输

 连接方式不同:http连接简单,无状态。https可进行加密传输,身份认证

 端口不同;  http端口是80   https端口是443

4.介绍一下js的节流与防抖?
节流:规定在一个单位时间内,只能触发一次函数。如果这个单位时间内触发多次函数,只有一次生效。

防抖:就是指触发事件后在规定时间内函数只能执行一次,如果在规定时间内又触发了事件,则会重新计算函数的执行时间。

5.什么是cookie?cookie的优缺点。

cookie是存储于访问者计算机中的变量 cookie是浏览器提供的一种机制 可以由JavaScript对其进行控制(设置、读取、删除) 

优点:cookie可以实现跨页面全局变量 ,cookie可以跨越同域名下的多个网页,但不能跨越多个域名使!用同一个网站中所有页面共享一套cookie

缺点:cookie可能被禁用; cookie与浏览器相关,不能互相访问; cookie可能被用户删除; cookie安全性不够高; cookie存储空间很小(只有4–10KB左右)

6.js的三种排序方法,并分别说明原理

 冒泡排序:相邻两个对比,小的在前

选择排序:从第一个开始找到最小的放最前面,依次

插入排序:从第二个开始,和前面的对比,比前面小就换位置,不小就不动,依次

快速排序:通过第一个值将数组分为两个数组,大于该值的放在后面,小于该值的放在前面(利用递归)

7.栈和队列的区别?

栈的插入和删除操作都是在一端进行的,而队列的操作却是在两端进行的。

队列先进先出,栈先进后出。

栈只允许在表尾一端进行插入和删除,而队列只允许在表尾一端进行插入,在表头一端进行删除

8.math对象是什么?有什么用?

Math 是一个内置对象,它拥有一些数学常数属性和数学函数方法。Math 不是一个函数对象。与其他全局对象不同的是,Math 不是一个构造器。Math 的所有属性与方法都是静态的。

Math是JavaScript的原生对象,提供了各种的数学功能,改对象不是构造函数,不能生成实例,所有的属性和方法都必须在Math对象上调用的。

9.js中浅拷贝和深拷贝的区别

 浅拷贝:有两种方式,一种是把一个对象里面的所有的属性值和方法都复制给另一个对象,另一种是直接把一个对象赋给另一个对象,使得两个都指向同一个对象。

深拷贝:把一个对象的属性和方法一个个找出来,在另一个对象中开辟对应的空间,一个个存储到另一个对象中。

两者就在于,浅拷贝只是简单的复制,对对象里面的对象属性和数组属性只是复制了地址,并没有创建新的相同对象或者数组。而深拷贝是完完全全的复制一份,空间大小占用一样但是位置不同!

如何区分深拷贝与浅拷贝,简单点来说,就是假设B复制了A,当修改A时,看B是否会发生变化,如果B也跟着变了,说明这是浅拷贝,拿人手短,如果B没变,那就是深拷贝,自食其力。

10.js延迟加载的方式有哪些?
1. defer 属性

2. async 属性

3. 动态创建DOM方式

4. 使用jQuery的getScript方法

5. 使用setTimeout延迟方法

6. 让JS最后加载

 

相关文章:

前端面试基础面试题——2

1.什么是json? json可以存在哪几种数据类型?在什么时候用? 2.什么是作用域? 3.http和https分别是什么?区别是什么? 4.介绍一下js的节流与防抖? 5.什么是cookie?cookie的优缺点。 6.js的三种排序方法&#xff0…...

docker 搭建rknn转换环境

文章目录 下载rknn搭建docker 环境进入镜像并挂载运行代码 下载rknn https://github.com/rockchip-linux/rknn-toolkit2 搭建docker 环境 进入到docker 的文件目录下 docker build -t run:v3 . -f Dockerfile_ubuntu_18_04_for_cp36 进入镜像并挂载 docker run -it -v /ho…...

机器学习:争取被遗忘的权利

随着越来越多的人意识到他们通过他们经常访问的无数应用程序和网站共享了多少个人信息,数据保护和隐私一直在不断讨论。看到您与朋友谈论的产品或您在 Google 上搜索的音乐会迅速作为广告出现在您的社交媒体提要中,这不再那么令人惊讶。这让很多人感到担…...

MATLAB实现AHP层次分析法——以情人节选取礼物为例

问题背景: 情人节来临之际,广大直男(女)同胞在给异性朋友选购礼物时会遇到难题——什么才是礼物好坏最重要的标准?基于层次分析法AHP进行计算,得出最高权重的指标,给出各位朋友选购礼物的一种思…...

flutter使用Chanel与原生通信

在Flutter中,Platform Channel允许Flutter与原生平台(如Android和iOS)之间进行双向通信,以便在Flutter应用程序和原生代码之间传递消息和调用功能。 以下是使用Platform Channel与原生通信的一般步骤: 1. 在Flutter端…...

Kubernetes技术--k8s核心技术Helm

1.引入 我们先回顾一下之前部署一个应用的过程,如部署nginx,实现效果如下所示: -1.编写deployment的yaml文件,然后运行。 -2.使用service中的NodePort对外暴漏端口 -3.为了弥补Nodeport的缺陷,使用ingress实现转发 这样一个应用就部署完了,这一种情况相对于如果你需要部…...

C/C++学习——单例模式(懒汉模式与饿汉模式)

C/C学习——单例模式 一、什么是单例模式?二、单例模式应用三、单例模式的特点注意:静态成员变量的使用示例代码: 四、单例模式C代码示例(饿汉模式)五、单例模式C示例代码(懒汉模式) 一、什么是…...

企业微信网页开发本地调试方式

一、开启企业微信调试模式 首先在企业微信打开一个网页应用时,其实就是打开了一个微信环境的浏览器,此时想要检查网页元素,查看请求接口,需要开启调试模式。企业微信默认是不支持调试的,需要再单独下载一个文件放在安…...

Prompt GPT推荐社区

大家好,我是荷逸,这次给大家带来的是我日常学习Prompt社区推荐 Snack Prompt 访问地址:http://snackprompt.com Snack Prompt是一个采用的Prompts诱导填空式的社区,它提供了一种简单的prompt修改方式,你只需要输入关…...

小程序隐私保护授权处理方式之弹窗组件

欢迎点击关注-前端面试进阶指南:前端登顶之巅-最全面的前端知识点梳理总结 *分享一个使用比较久的🪜 小程序隐私保护授权弹窗组件 调用wx.getUserProfile进行授权时,返回错误信息:{errMsg: “getUserProfile:fail api scope is…...

Java 复习笔记 - 方法篇

文章目录 一,方法的定义二,最简单的方法定义和调用三,带参数的方法定义和调用四,带返回值方法的定义和调用五,小结六,方法的重载七,方法简单练习1,数组遍历2,数组最大值3…...

大数据到底是好是坏?_光点科技

近年来,随着科技的不断发展和互联网的普及,大数据已经成为一个备受关注的话题。它带来了许多机遇和挑战,引发了人们对于其是好是坏的争议。大数据究竟是一把双刃剑,需要我们从多个角度来审视。 大数据的好处无疑是显而易见的。首先…...

C++ while 循环

只要给定的条件为真,while 循环语句会重复执行一个目标语句。 语法 C 中 while 循环的语法: while(condition) {statement(s); }在这里,statement(s) 可以是一个单独的语句,也可以是几个语句组成的代码块。condition 可以是任意…...

orm_sqlalchemy总结

sqlalchemy使用总结 1 sqlalchemy ORM基础操作 官方文档:https://docs.sqlalchemy.org/en/13/orm/tutorial.html 创建连接 - 创建基类 - 创建实体类 - 创建表 - 创建session import logging import pymysql from pymysql.cursors import DictCursor import sqla…...

CTFhub-文件上传-MIME绕过

用哥斯拉生成 php 木马文件 1.php 抓包---> 修改 conten-type 类型 为 imge/jpeg 用蚁剑连接 ctfhub{8e6af8109ca15932bad4747a}...

【校招VIP】前端校招考点之UDP

考点介绍: UDP是非面向连接协议,使用udp协议通讯并不需要建立连接,它只负责把数据尽可能发送出去,并不可靠,在接收端,UDP把每个消息断放入队列中,接收端程序从队列中读取数据。 『前端校招考点…...

C++设计模式_02_面向对象设计原则

文章目录 1. 面向对象设计,为什么?2. 重新认识面向对象3. 面向对象设计原则3.1 依赖倒置原则(DIP)3.2 开放封闭原则(OCP )3.3 单一职责原则( SRP )3.4 Liskov 替换原则 ( LSP )3.5 接口隔离原则 ( ISP )3.6 优先使用对象组合,而不是类继承3.7…...

springcloud-gateway简述

Spring Cloud Gateway 是一个用于构建 API 网关的项目&#xff0c;它是 Spring Cloud 生态系统中的一部分&#xff0c;旨在为微服务架构提供动态路由、负载均衡、安全性和监控等功能。 网关工程对应pom文件 <?xml version"1.0" encoding"UTF-8"?>…...

【大虾送书第七期】深入浅出SSD:固态存储核心技术、原理与实战

目录 ✨写在前面 ✨内容简介 ✨作者简介 ✨名人推荐 ✨文末福利 &#x1f990;博客主页&#xff1a;大虾好吃吗的博客 &#x1f990;专栏地址&#xff1a;免费送书活动专栏地址 写在前面 近年来国家大力支持半导体行业&#xff0c;鼓励自主创新&#xff0c;中国SSD技术和产业…...

常见矿石材质鉴定VR实训模拟操作平台提高学员的学习效果和实践能力

随着“元宇宙”概念的不断发展&#xff0c;在矿山领域中&#xff0c;长期存在传统培训内容不够丰富、教学方式单一、资源消耗大等缺点&#xff0c;无法适应当前矿山企业发展需求的长期难题。元宇宙企业借助VR虚拟现实、web3d开发和计算机技术构建的一个虚拟世界&#xff0c;为用…...

AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持续更新中&#xff01;&#xff08;长期更新&#xff09; 目前2025年06月05日更新到&#xff1a; AI炼丹日志-28 - Aud…...

OpenLayers 可视化之热力图

注&#xff1a;当前使用的是 ol 5.3.0 版本&#xff0c;天地图使用的key请到天地图官网申请&#xff0c;并替换为自己的key 热力图&#xff08;Heatmap&#xff09;又叫热点图&#xff0c;是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...

AtCoder 第409​场初级竞赛 A~E题解

A Conflict 【题目链接】 原题链接&#xff1a;A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串&#xff0c;只有在同时为 o 时输出 Yes 并结束程序&#xff0c;否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...

三体问题详解

从物理学角度&#xff0c;三体问题之所以不稳定&#xff0c;是因为三个天体在万有引力作用下相互作用&#xff0c;形成一个非线性耦合系统。我们可以从牛顿经典力学出发&#xff0c;列出具体的运动方程&#xff0c;并说明为何这个系统本质上是混沌的&#xff0c;无法得到一般解…...

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 在 GPU 上对图像执行 均值漂移滤波&#xff08;Mean Shift Filtering&#xff09;&#xff0c;用于图像分割或平滑处理。 该函数将输入图像中的…...

基于Java Swing的电子通讯录设计与实现:附系统托盘功能代码详解

JAVASQL电子通讯录带系统托盘 一、系统概述 本电子通讯录系统采用Java Swing开发桌面应用&#xff0c;结合SQLite数据库实现联系人管理功能&#xff0c;并集成系统托盘功能提升用户体验。系统支持联系人的增删改查、分组管理、搜索过滤等功能&#xff0c;同时可以最小化到系统…...

QT3D学习笔记——圆台、圆锥

类名作用Qt3DWindow3D渲染窗口容器QEntity场景中的实体&#xff08;对象或容器&#xff09;QCamera控制观察视角QPointLight点光源QConeMesh圆锥几何网格QTransform控制实体的位置/旋转/缩放QPhongMaterialPhong光照材质&#xff08;定义颜色、反光等&#xff09;QFirstPersonC…...

Kafka入门-生产者

生产者 生产者发送流程&#xff1a; 延迟时间为0ms时&#xff0c;也就意味着每当有数据就会直接发送 异步发送API 异步发送和同步发送的不同在于&#xff1a;异步发送不需要等待结果&#xff0c;同步发送必须等待结果才能进行下一步发送。 普通异步发送 首先导入所需的k…...

在鸿蒙HarmonyOS 5中使用DevEco Studio实现指南针功能

指南针功能是许多位置服务应用的基础功能之一。下面我将详细介绍如何在HarmonyOS 5中使用DevEco Studio实现指南针功能。 1. 开发环境准备 确保已安装DevEco Studio 3.1或更高版本确保项目使用的是HarmonyOS 5.0 SDK在项目的module.json5中配置必要的权限 2. 权限配置 在mo…...

AD学习(3)

1 PCB封装元素组成及简单的PCB封装创建 封装的组成部分&#xff1a; &#xff08;1&#xff09;PCB焊盘&#xff1a;表层的铜 &#xff0c;top层的铜 &#xff08;2&#xff09;管脚序号&#xff1a;用来关联原理图中的管脚的序号&#xff0c;原理图的序号需要和PCB封装一一…...