什么是原型对象和原型链,为什么要使用原型链呢?

1、原型对象(Person.prototype)是 构造函数(Person)的一个实例。 2、JavaScript是⾯向对象的,每个实例对象都有⼀个__proto__属性,该属性指向它的原型对象,这个实例对象的构造函数有⼀个原型属性 prototype,与实例的proto属性指向同⼀个对象。当⼀个对象在查找⼀个属性的时候,⾃⾝没有就会根据__proto__向它的原型进⾏查找,如果 都没有,则向它的原型的原型继续查找,直到查到Object.prototype.proto_为null,这样也就形成了原型链。 原型链的顶层就是Object.prototype,而这个对象的是没有原型对象的。

PHP服务器静态文件跨域配置

php网站apache服务器静态资源跨域问题配置,可以在.htaccess文件中进行跨域配置 <IfModule mod_headers.c> Header set Access-Control-Allow-Origin "*" Header set Access-Control-Allow-Methods "GET" Header set Access-Control-Allow-Headers "DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range" </IfModule>

php strtotime获取时间段今天昨天本周本月

// 今天开始 strtotime('today'); // 今天结束 strtotime('today 23:59:59'); // 昨天开始 strtotime('yesterday'); // 昨天结束 strtotime('yesterday 23:59:59'); // 本周开始 strtotime('last Monday'); // 本周结束 strtotime('sunday 23:59:59'); // 本月开始 strtotime(date("Y-m-01")); // 本月结束 strtotime(date("Y-m-t"));

mysql查询去除重复数据的两种式

1、使用distinct关键字 distinct可以去除select查询结果中的重复行。 select distinct username from user; 2、使用group by关键字 group by能够将select查询结果按照指定列分组,并对每组进行聚合运算。 select * from user group by username;

30个Vue 3常见的核心面试题及其答案

【30个Vue 3常见的核心面试题及其答案_vue3面试题-CSDN博客】https://blog.csdn.net/linzhongshu/article/details/138488220?_refluxos=a10

什么是全局变量污染?

全局变量污染(Global Pollution)是指在编程过程中,由于过度使用全局变量或对象,导致命名冲突、代码可维护性下降以及潜在错误增加的问题。

JavaScript中使用闭包的应用场景有哪些?

在JavaScript中,闭包是指一个函数能够访问并操作其父函数作用域中的变量,即使该父函数已经执行完毕并离开了执行环境。

PHP创建记事本与html和代码文件的内容换行说明

有些时候我们用PHP程序生成各种文件比如记事本、html文件和PHP文件等。对写入的内容过长,有些时候我们需要进行换行。那么他们之间换行有什么区别呢,下面我们来介绍他们访问方式

CSS3样式实现三角形小图标

css3样式实现三角形原理:实际上是定义一个宽和高为0,有边框的div盒子,其中显示的边框有颜色,不显示的边框设置成透明

常见的Plugin和它们解决问题说明

HtmlWbpackPlugin:自动在打包结束后生成html文件,并引入bundle.js。 cleanwebPackPlugin:打包自动删除上次打包文件。 define-plugin:定义环境变量。 commons-chunk-plugin:提取公共代码。 uglifyjs-webpack-plugin:通过UglifyES压缩ES6代码。

NodeJS的应用领域?

1、实时网络应用程序。 2、网络应用。 3、分布式系统 4、通用应用。

rgba()和opacity的透明效果有什么不同?

opacity作用于元素,以及元素内的所有内容的透明度,rgba()只作用于元素的颜色或其背景色。 设置rgba透明的元素的子元素不会继承透明效果!

CSS3新特性有哪些?

1、CSS3实现圆角(border-radius) 2、阴影(box-shadow) 3、对文字加特效(text-shadow)text-shadow: 5px 5px 5px #FF0000;(水平阴影,垂直阴影,模糊距离,阴影颜色 4、线性渐变(gradient) 5、变形(transform) 6、增加了更多的CSS选择器 多背景 rgba 7、在CSS3中唯一引入的伪元素是::selection 8、媒体查询:定义两套css,当浏览器的尺寸变化时会采用不同的属性 9、多栏布局 10、word-wrap(对长的不可分割单词换行)word-wrap:break-word 11、font-face属性:定义自己的字体 12、边框图片:border-image: url(border.png) 30 30 round

简单阐述浏览器内核

浏览器内核主要分成两部分:渲染引擎和js引擎。 渲染引擎:负责取得网页的内容(HTML、XML、图像等等)、整理讯息(例如加入CSS等),以及计算网页的显示方式,然后会输出至显示器或打印机。浏览器的内核的不同对于网页的语法解释会有不同,所以渲染的效果也不相同。 js引擎:解析和执行JavaScript来实现网页的动态效果。 说明:现在JS引擎越来越独立,所以内核就倾向于只指渲染引擎。

网页制作会用到的图片格式有哪些?

Webp:WebP格式,由谷歌开发的一种旨在加快图片加载速度的图片格式。它能节省大量的服务器带宽资源和数据空间。 Apng:是PNG的位图动画扩展,可以实现png格式的动态图片效果。

NodeJS是如何工作的?

1、Node.js 是一个使用 JavaScript 作为脚本语言并在 v8 环境中运行的虚拟机。 2、处理更多并发请求: 它在单线程事件循环和非阻塞 I/O 上提供高速率工作。 3、通过使用“HTTP”模块,Node.js 可以在任何独立的 Web 服务器上运行。

NodeJS的单线程模型?

Node.js 使用单线程模型来支持异步处理。通过异步处理,应用程序可以在 Web 负载下性能更好并且更具可扩展性。因此,Node.js 使用单线程模型方法而不是典型的基于线程的实现。

Canvas是什么?怎样写Canvas?

Canvas是HTML5的一个元素,它使用JavaScript可以在网页上绘制图形。 Canvas是一个矩形区域。它的每一个像素都可以由HTML5语言来控制,使用Canvas绘制路径、框、圆、字符和添加图像有几种方法。 如果要在我们的HTML文档中添加Canvas标签,我们需要ID、宽度和高度。下面是如何将基本Canvas标签写入HTML文档的示例。 <canvas id="myFirstCanvas" width="100" height="100">

HTML5中新的输入类型属性

search:用于搜索域,比如站点搜索或 Google 搜索,域显示为常规的文本域。 url:用于应该包含 URL 地址的输入域在提交表单时,会自动验证 url 域的值。 email:用于应该包含 e-mail 地址的输入域,在提交表单时,会自动验证 email 域的值。 datetime:选取时间、日、月、年(UTC 时间) date:选取日、月、年 month:选取月、年 week:选取周和年 time:选取时间(小时和分钟) datetime-local:选取时间、日、月、年(本地时间) number:用于应该包含数值的输入域,您还能够设定对所接受的数字的限定。 range:用于应该包含一定范围内数字值的输入域,类型显示为滑动条。

video 标签的几个属性方法

src:视频的URL poster:视频封面,没有播放时显示的图片 preload:预加载 autoplay:自动播放 loop:循环播放 controls:浏览器自带的控制条 width:视频宽度 height:视频高度

简单阐述 NodeJS 的优势

快速:Node.js 建立在 Google Chrome 的 V8 JavaScript 引擎之上,这使得它的库在代码执行方面非常快。 异步:基于 Node.js 的服务器从不等待 API 返回数据的异步 HTTP 请求,从而使其异步。 可扩展:它是高度可扩展的,因为它的事件机制可以帮助服务器以非阻塞方式响应。 开源:Node.js 拥有一个广泛的开源社区,该社区贡献了一些优秀的模块来为 Node.js 应用程序添加附加功能。 无缓冲:Node.js 应用程序只是以块的形式输出数据,从不缓冲任何数据。

什么是bundle,什么是chunk,什么是module

bundle:是由webpack打包出来的文件 chunk:是指webpack在进行模块依赖分析的时候,代码分割出来的代码块 module:是开发中的单个模块

标签上title属性与alt属性的区别

1、alt属性是当图像不能正常展示的时候提供文字说明。 2、title属性为设置该属性的元素提供建议性的信息。 在alt和title同时设置的时候,alt作为图片的替代文字出现,title是图片的解释文字。 可以理解title 指图片的信息、alt 指图片不显示时显示的文字

HTML结构中 meta 标签的 name 属性值

meta有两个属性name和content 1、name 属性主要用于描述网页。它有几个参数 1)Keywords(关键字)说明: keywords用来告诉搜索引擎你网页的关键字是什么。 2)description(网站内容描述) 说明:description用来告诉搜索引擎你的网站主要内容。 3)robots(机器人向导)说明:robots用来告诉搜索机器人哪些页面需要索引,哪些页面不需要索引。 4)viewport(响应式设计) 2、content中的内容主要是用于搜索引擎机器人查找信息和分类信息。 格式:<meta name="参数" content="具体的参数值">

什么是NodeJS?

概念:nodeJs 是在Chrome 的 V8 JavaScript 引擎上开发一个框架(轻量级框架)。 作用:将 JavaScript 直接编译为原生机器码【F附加:也是JavaScript代码运行的环境】。 使用:用于创建服务器端 Web 应用程序并扩展 JavaScript API 以提供常用的服务器端功能。 场景:它通常用于大型应用程序开发,特别是视频流站点、单页应用程序和其他 Web 应用程序。

如何区分 JavaScript 和 Node.js?

JavaScript 1、编程语言 2、用于 Web 应用程序的任何客户端 3、蜘蛛猴 (FireFox)、JavaScript Core (Safari)、V8 (Google Chrome) 等 nodeJs 1、JavaScript 的解释器和环境 2、用于访问或执行任何操作系统的任何非阻塞操作 3、V8 (Google Chrome)

a标签中 如何禁用href 跳转页面 或 定位链接

1、禁用href 跳转设置阻止元素默认事件:e.preventDefault(); 2、定位链接设置href值:href="javascript:void(0);

HTML与XHTML二者有什么区别

1、XHTML 元素必须被正确地嵌套。 2、XHTML 元素必须被关闭。 3、标签名必须用小写字母。 4、XHTML 文档必须拥有根元素。

position的值, relative和absolute分别是相对于谁进行定位的?

absolute:绝对定位的元素,相对于 static 定位以外的第一个祖先元素进行定位 fixed:绝对定位的元素,相对于浏览器窗口进行定位。 (IE6不支持) relative:相对定位的元素,相对于其在普通流中的位置进行定位 static:默认值。没有定位,元素出现在正常的流中

position的absolute与fixed共同点与不同点

相同: 1、改变行内元素的呈现方式,display被置为block 2、让元素脱离普通流,不占据空间 3、默认会覆盖到非定位元素上 区别: absolute的”根元素“是可以设置的,而fixed的”根元素“固定为浏览器窗口。 当你滚动网页,fixed元素与浏览器窗口之间的距离是不变的。

手机端上 图片长时间点击会选中图片,如何处理?

设置onselect事件返回值为false onselect=function() { return false }

CSS中 link 和@import 的区别是什么?

说明:link属于HTML标签,而@import是CSS提供的,且只能加载 CSS 加载:页面被加载时,link会同时被加载,而@import引用的CSS会等到页面被加载完再加载 兼容:import只在IE5以上才能识别,而link是HTML标签,无兼容问题 权重:link方式的样式的权重 高于@import的权重 设置:当使用 Javascript 控制 DOM 去改变样式的时候,只能使用 link 方式,因为 @import 眼里只有 CSS ,不是 DOM 可以控制。

webpack 中 Plugin(插件)的作用是什么?

作用:Plugin 是用来扩展 Webpack 功能的,通过在构建流程里注入钩子实现,它给 Webpack 带来了很大的灵活性。 配置:通过plugins属性来配置需要使用的插件列表的。plugins属性是一个数组,里面的每一项都是插件的一个实例,在实例化一个组件时可以通过构造函数传入这个组件支持的配置属性。

webpack 常用 loader 及说明

css-loader 读取 合并CSS 文件 style-loader 把 CSS 内容注入到 JavaScript 里 sass-loader 解析sass文件(安装sass-loader,node-sass) postcss-loader 自动添加浏览器兼容前缀(postcss.config配置) url-loader 将文件转换为base64 URI。 vue-loader 处理vue文件。 file-loader 把文件输出到一个文件夹中,在代码中通过相对 URL 去引用输出的文件 source-map-loader 加载额外的 Source Map 文件,以方便断点调试 image-loader 加载并且压缩图片文件 babel-loader 把 ES6 转换成 ES5 eslint-loader 通过 ESLint 检查 JavaScript 代码

前端为什么要进行打包和构建?

代码层面: 1、体积更小(Tree-shaking、压缩、合并),加载更快 2、编译高级语言和语法(TS、ES6、模块化、scss) 3、兼容性和错误检查(polyfill,postcss,eslint) 研发流程层面: 1、统一、高效的开发环境 2、统一的构建流程和产出标准 3、集成公司构建规范(提测、上线)

在CSS样式中常使用px、em,各有什么优劣,在表现上有什么区别?

px:是相对长度单位,相对于显示器屏幕分辨率。 em:是相对长度单位,相对于当前对象内文本的字体尺寸。 px:定义的字体,无法用浏览器字体放大功能。 em:的值并不是固定的,会继承父级元素的字体大小,1 ÷ 父元素的font-size × 需要转换的像素值 = em值。

使用 Node.js 创建第一个应用

Node.js 应用是由哪几部分组成的: 1、require 指令:在 Node.js 中,使用 require 指令来加载和引入模块,引入的模块可以是内置模块,也可以是第三方模块或自定义模块。 2、创建服务器:服务器可以监听客户端的请求,类似于 Apache 、Nginx 等 HTTP 服务器。 3、接收请求与响应请求 服务器很容易创建,客户端可以使用浏览器或终端发送 HTTP 请求,服务器接收请求后返回响应数据。 步骤一、使用 require 指令来加载和引入模块 格式:const module = require('module-name'); 1、module-name 可以是一个文件路径(相对或绝对路径),也可以是一个模块名称,如果是一个模块名称,Node.js 会自动从 node_modules 目录中查找该模块。 2、require 指令会返回被加载的模块的导出对象,可以通过该对象来访问模块中定义的属性和方法,如果模块中有多个导出对象,则可以使用解构赋值的方式来获取它们。 示例: var http = require("http"); 步骤二、创建服务器 使用 http.createServer() 方法创建服务器,并使用 listen 方法绑定 8888 端口。 函数通过 request, response 参数来接收和响应数据。

简单阐述 src 属性 与 href 属性 的区别

src 用于替换当前元素;href 用于在当前文档和引用资源之间确立联系。 src 是 source 的缩写,指向外部资源的位置,指向的内容将会嵌入到文档中当前标签所在位置 href 是 Hypertext Reference 的缩写,指向网络资源所在位置,建立和当前元素(锚点)或当前文档(链接)之间的链接

webpack是解决什么问题而生的?

如果像以前开发时一个html文件可能会引用十几个js文件,而且顺序还不能乱,因为它们存在依赖关系,同时对于ES6+等新的语法,less, sass等CSS预处理都不能很好的解决……,此时就需要一个处理这些问题的工具。

Webpack的基本功能有哪些?

代码转换:TypeScript 编译成 JavaScript、SCSS 编译成 CSS 等等 文件优化:压缩 JavaScript、CSS、html 代码,压缩合并图片等 代码分割:提取多个页面的公共代码、提取首屏不需要执行部分的代码让其异步加载 模块合并:在采用模块化的项目有很多模块和文件,需要构建功能把模块分类合并成一个文件 自动刷新:监听本地源代码的变化,自动构建,刷新浏览器 代码校验:在代码被提交到仓库前需要检测代码是否符合规范,以及单元测试是否通过 自动发布:更新完代码后,自动构建出线上发布代码并传输给发布系统。

HTML5 关于 viewport 所有属性

width: 设置layout viewport的宽度,为一个正整数,或字符串'device-width'; height: 设置layout viewport的高度。 initial-scale: 设置页面的初始缩放值,为一个数字,可以带小数。 minimum-scale: 允许用户的最小缩放值,为一个数字,可以带小数。 maximum-scale: 允许用户的最大缩放值,为一个数字,可以带小数。 user-scalable: 是否允许用户进行缩放,值为‘no’或者‘yes’。 target-densitydpi: 表示目标设备的密度等级,作用是决定css中的1px 代表多少物理像素。它的值可以为一个数值或者 high-dpi 、 medium-dpi、 low-dpi、 device-dpi 这几个字符串中的一个

简单简述CSS的权重规则

一个元素设置样式的方法有如下: 1、行内样式 2、id样式 3、类样式[属性选择器 > class类 > 伪类选择器] 4、标签样式 5、伪元素样式 含!important:最高权重,一个行内样式+1000,一个id+100,一个属性选择器/class类/伪类选择器+10,一个元素名/伪对象选择器+1。 1、!important声明的样式优先级最高,如果冲突再进行计算。 2、如果优先级相同,则选择最后出现的样式。 3、继承得到的样式的优先级最低。 关系选择器将拆分为两个选择器再计算。

CSS伪类与CSS伪对象的区别

CSS 引入伪类和伪元素的概念是为了描述一些现有CSS无法描述的东西。 根本区别在于:它们是否创造了新的元素(抽象) 伪类:一开始用来表示一些元素的动态状态,随后CSS2标准扩展了其概念范围,使其成为了所有逻辑上存在但在文档树中却无须标识的“幽灵”分类 伪对象:代表了某个元素的子元素,这个子元素虽然在逻辑上存在,但却并不实际存在于文档树中

webpack的核心概念

Entry:入口,Webpack 执行构建的第一步将从 Entry 开始,可抽象成输入。告诉webpack要使用哪个模块作为构建项目的起点,默认为./src/index.js output:出口,告诉webpack在哪里输出它打包好的代码以及如何命名,默认为./dist Module:模块,在 Webpack 里一切皆模块,一个模块对应着一个文件。Webpack 会从配置的 Entry 开始递归找出所有依赖的模块。 Chunk:代码块,一个 Chunk 由多个模块组合而成,用于代码合并与分割。 Loader:模块转换器,用于把模块原内容按照需求转换成新内容。 Plugin:扩展插件,在 Webpack 构建流程中的特定时机会广播出对应的事件,插件可以监听这些事件的发生,在特定时机做对应的事情。

浏览器页面有哪三层构成,分别是什么,作用是什么?

浏览器页面构成:结构层、表示层、行为层 它们分别是:HTML、CSS、JavaScript 作用:HTML实现页面结构,CSS完成页面的表现与风格,JavaScript实现一些客户端的功能与业务。

简单的简述CSS样式表继承

CSS样式表继承是指特定的CSS属性向下传递到子孙元素。 文本相关:font-family,font-size, font-style,font-variant,font-weight, font,letter-spacing,line-height,color 列表相关:list-style-image,list-style-position,list-style-type, list-style 和 border, padding, margin, width, height

HTML5 的 form 表单关闭自动完成功能

HTML输入框有自动完成功能,当往输入框输入内容的时候,浏览器会从以前的同名输入框的历史记录中查找出类似的内容并列在输入框下面。 但有时候我们希望关闭输入框的自动完成功能,例如当用户输入内容的时候,我们希望使用AJAX技术从数据库搜索并列举而不是在用户的历史记录中搜索。 方法: 1、在IE的internet选项菜单中里的自动完成里面设置 2、设置form输入框的autocomplete值为off来关闭输入框的自动完成功能,on为开启。

div与css的网页布局有优点有

1、改版的时候更方便 只要改css文件。 2、页面加载速度更快、结构化清晰、页面显示简洁。表现与结构相分离。 3、易于优化(seo)搜索引擎更友好,排名更容易靠前。

webpack打包原理

1、模块化:不管是 css、JS、Image 还是 html 都视为模块。 2、打包【追踪、处理、打包】:通过定义 entry.js,对所有依赖的文件进行跟踪,将各个模块通过 loader 和 plugins 处理,然后打包在一起。 3、按需加载(步骤): 1)打包过程中 Webpack 通过 Code Splitting 功能将文件分为多个 chunks。 2)将重复的部分单独提取出来作为 commonChunk,从而实现按需加载。 3)把所有依赖打包成一个 bundle.js 文件,通过代码分割成单元片段并按需加载。