前端面试---ES6
ES6var,let,const有哪些区别在ES5中,顶层对象(在浏览器中是window)的属性和全局变量是等价的,或者说全局变量会被挂载到window对象中 变量提升 var声明的变量存在变量提升,变量提升只提升变量声明,不提升变量赋值。而let和const不存在变量提升 重复声明 var声明的变量可以被重复声明,后面声明的会覆盖前面声明的。而let和const声明的变量无法被重复声明。 作用域 var声明的变量只会产生函数作用域,不会产生块级作用域 let用来声明一个变量,会产生一个块级作用域, const用来声明一个常量,也会产生一个块级作用域。 数组新增了哪些扩展扩展运算符 …扩展运算符的作用就是把数组变成一个序列 1console.log(...[1, 2, 3]) //等同于console.log(1,2,3) 用来展开数组 1Math.max(...arr)//求数组arr的最大值 用来合并,拷贝数组 拷贝数组进行的是浅层次的拷贝 1const arr =...
nodejs
Node.js定义nodejs是前端工程化的基础,是开源的,基于谷歌v8引擎构建的js运行环境,运行开发者使用js编写的服务器。 三大模块文件相关 fs模块 封装了与本机文件系统进行交互的方法与属性 fs.readFile() 1fs.readFile(path[, options], callback) 参数1:必选参数,字符串,表示文件路径。 参数2:可选参数,表示以什么编码格式来读取文件。 参数3:必选参数,文件读取完成后,通过回调函数拿到读取的结果,形如(err,dataStr)=>{} 读取成功err为null,否则为错误对象 示例: 1234fs.readFile('/path/to/file.txt', 'utf8', (err, data) => { if (err) throw err; console.log(data);//data是文件内容的buffer数据流}); fs.writeFile() 1fs.writeFile(file,...
前端面试---webpack
谈谈你对webpack的理解webpack主要是用来解决模块化问题的。 什么是模块将某一个复杂的项目按照某种规则或者规范划分为多个文件,每个文件就是一个模块。模块内部是数据是私有的。 模块化实现历程早期模块化的方式中,每个能实现某些功能js文件被设计为一个单独的模块,然后通过script标签引入 12<script src="module-a.js"></script><script src="module-b.js"></script> 这种方式的缺点很明显,被引入后,模块中的变量都成为全局变量,存在变量污染问题,而且模块之间没有依赖关系。 随后,就出现了命名空间方式,规定每个模块只暴露一个全局对象,然后模块的内容都挂载到这个对象中。 123456window.moduleA = { data:20 method1: function () { console.log('moduleA#method1') ...
前端面试---css
全文主要参考如下gituhub项目,在此基础上补充了一些自己的东西: https://github.com/febobo/web-interview 项目网站:web前端面试 - 面试官系列 一个非常全面,细致的前端面试题库,十分的推荐,深刻体会到github的强大之处了。 说说css盒模型浏览器在渲染html元素的时候,会把所有元素表示为一个一个矩形的盒子。 盒模型组成 content 即实际内容,显示文本和图像 padding 即内边距,内边距是透明的,取值不能为负,背景图片可以扩展到padding。 border 即边框,由粗细、样式、颜色三部分组成。例如border:1px solid...
前端面试---js部分
JavaScript说说js的数据类型js的数据类型可以分为两类,基本数据类型和引用数据类型 基本数据类型基本数据类型主要有6种:Number,String,Boolean,Symbol,Null,Undefined number 最常见的整数类型格式则为十进制,还可以设置八进制(零开头)、十六进制(0x开头) 123let intNum = 55 // 10进制的55let num1 = 070 // 8进制的56let hexNum1 = 0xA //16进制的10 浮点类型则在数值中必须包含小数点,还可通过科学计数法表示。 1234let floatNum1 = 1.1;let floatNum2 = 0.1;let floatNum3 = .1; // 有效,但不推荐let floatNum = 3.125e7; // 等于 31250000 在数值类型中,存在一个特殊数值NaN,意为“不是数值”,用于表示数值运算操作失败了(而不是抛出错误) 12console.log(0/0); // NaNconsole.log(-0/+0); //...
前端面试---vue部分
Vue2推荐一个学习vue的网站:Vue3 说说你对vue的理解前端发展背景最早的网页是没有数据库的,可以理解成就是一张可以在网络上浏览的报纸,就是纯静态页面 直到CGI技术的出现通过 CGI Perl 运行一小段代码与数据库或文件系统进行交互(前后端交互) 后来JSP(Java Server Pages)技术取代了CGI技术,其实就是Java + HTML 1234567891011<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%><!DOCTYPE html><html><head> <meta charset="utf-8"> <title>JSP demo</title></head><body> <img...
gprMax
gprMax定义gpr是Ground Penetrating Radar(探地雷达)的缩写,gprMax是一款模拟电磁波传播的开源软件,它使用有限差分时域 (FDTD) 方法求解 3D 麦克斯韦方程组。gprMax 专为模拟探地雷达 (GPR) 而设计,但也可用于模拟许多其他应用的电磁波传播。很遗憾,目前为止它还没有图形用户界面(GUI),它的建模关键在于in文件的编写。 安装步骤 详细安装步骤参考:gprMax最详安装步骤及常见问题解答 - 知乎 安装步骤简述: 下载Anaconda,并配置好环境变量 因为gprMax是基于python语言编写的,所以需要安装python及所需python包 安装git 目的是使用git克隆github上的gprMax仓库,下载gprMax 下载gprMax包 1git clone https://github.com/gprMax/gprMax.git 最好在D盘新建一个文件夹my_grpmax,然后右键,选择在终端打开, 然后再输入上述命令,然后一个文件夹grpMax就会被下载到新建的文件夹下。然后执行如下操作。 12cd...
科研项目概述
基于探地雷达信号属性特征的目标体智能识别研究什么是探地雷达?探地雷达是通过发射高频电磁脉冲波,利用地下介质电磁性质的差异,根据回波的振幅、波形和频率等运动学和动力学特征来分析和推断介质结构和物性特征.探地雷达技术在过去的时间里,在理论、技术和应用领域方面,都取得了极大进展,已经成为一种高分辨的无损探测技术。 探底雷达的原理探地雷达的使用方法和原理是通过发射天线向地下发射高频电磁波,通过接收天线接收反射回地面的电磁波,电磁波在地下介质中传播时遇到存在电性差异的界面时发生反射,根据接收到电磁波的波形、振幅强度和时间的变化特征推断地下介质的空间位置、结构、形态和埋藏深度。 探地雷达可以用来干什么探地雷达可用于检测各种材料,如岩石、泥土、砾石,以及人造材料如混凝土、砖、沥青等的组成。雷达可确定金属或非金属管道、下水道、缆线、缆线管道、孔洞、基础层、混凝土中的钢筋及其它地下埋件的位置。它还可检测不同岩层的深度和厚度,并常用于地面作业开工前对地面作一个广泛的调查。 参考: 物探中的一只眼——探地雷达 -...
前端面试---网络
全文主要参考如下gituhub项目,在此基础上补充了一些自己的东西: https://github.com/febobo/web-interview 项目网站:web前端面试 - 面试官系列 一个非常全面,细致的前端面试题库,十分的推荐,深刻体会到github的强大之处了。 http是什么与https有什么区别http定义http,即超文本传输协议,常被用于在浏览器和网站服务器之间的通信,以明文方式发送内容,不提供任何方式的数据加密。 特点 无状态 HTTP协议无法根据之前的状态来处理本次请求。 灵活 HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。 状态码 4xx(客户端错误) 404:服务器中不存在请求的资源。 403:请求的权限不足。 401:身份认证失败,该用户不存在。 400(bad...
webpack基础
快速开始定义基于node.js来开发的静态资源打包工具,最基本的功能是递归解析依赖的文件并打包,顺便把模块化代码转化成可以直接在浏览器上运行的代码。 下载1npm i webpack webpack-cli -D //下载webpack和调用webpack的命令 不下载到全局的原因: 不同项目可能需要使用不同版本的webpack 下载到全局无法被项目中的package.json文件记录,分享项目给其他人使用的时候需要额外下载webpack webpack打包命令 如果全局安装: 1webpack 如果安装到本地 1npx webpack #npx会自动在node_modules/.bins目录下查找可执行文件 或者 1npx webpack --watch...