
前端知识
文章平均质量分 84
祥哥的说
精一技而绝天下。。。
展开
-
CDN相关知识点
CDN(Content Delivery Network,内容分发网络)是一种通过在多个节点上分布内容以提高网络性能、可靠性和可扩展性的网络解决方案。CDN通过在不同的地理位置部署服务器,使用户能够更快地访问内容,同时减轻了网络负载,提高了网站的稳定性和安全性。原创 2023-03-11 19:59:32 · 960 阅读 · 0 评论 -
手撕前端题目
前端手撕代码汇总原创 2022-05-24 23:28:42 · 1036 阅读 · 0 评论 -
http和https
接着客户端生成一个pre master secret(随机数),通过服务器公钥加密,发送给服务器,接着客户端和服务端利用之前的随机数以及pre master secret生成对称加密的秘钥开始进行对称加密通信。实际得到的证书是证书机构例如CA通过自己的私钥,将服务器提交的信息(服务器公钥,域名等)进行了签名,最终证书就包含(签名+服务器信息)接着服务器发起一次证书传递通信,将证书+证书机构信息(证书机构公钥,签发机构名称,位置等信息)交给操作系统根证书进行私钥签名并发送。使用两把密钥的公开密钥加密。原创 2023-02-06 20:10:39 · 553 阅读 · 0 评论 -
Promise的学习
<script> function timeout(ms){ return new Promise((resolve,reject)=>{ setTimeout(resolve,ms,"hahah我在这"); }); } timeout(100...原创 2018-12-13 22:24:43 · 254 阅读 · 1 评论 -
JS基础-原型原型链和宏任务/微任务/事件机制
1、结果: 2、第一:首先区分浏览器端和服务器端的js模块化规范。1)浏览器端的js模块化规范:AMD 和 CMD2)服务器端的js模块化规范:CommonJS(注:由NodeJS实现)第二:浏览器端的js模块化规范分别由什么实现。1)AMD是由require.js实现的(记忆法,认为A是Async异步, 依赖前置,就是所有的依赖必须放在最前面)2)CMD是由sea.js实现的(依赖就近,所有依赖需要了再引入3、 熟悉使用new创建对象的原理:(1)新对象的隐式原型执向构造函数的显示原型B._prot原创 2022-05-31 23:42:16 · 417 阅读 · 0 评论 -
http及https相关内容补充
HTTP2.0不足:1、建立连接时间长(本质上是TCP的问题)2、队头阻塞问题(二进制分帧层,形成很多互相无依赖的数据包,由于单个数据包的丢失而造成的阻塞)TCP协议在收到数据包之后,这部分数据可能是乱序到达的,但是TCP必须将所有数据收集排序整合后给上层使用,如果其中某个包丢失了,就必须等待重传,从而出现某个丢包数据阻塞整个连接的数据使用。3、移动互联网领域表现不佳(弱网环境)HTTP3.0Http3.0是建立一个新的传输层协议QUIC上的HTTP新规范,QUIC协议底层是基于原创 2022-05-20 21:00:43 · 354 阅读 · 0 评论 -
nextjs中阿里icon库的引入使用
阿里icon库地址引入方法:1、font class引入在我的项目myblog中,下载至本地解压之后在demo_index.html文件中选择图标引入方式,blog中使用了font class的引入方法,即将iconfont.css文件,放到public中进行维护,同时在layout中引入,注意这个这里的href路径,使用的是根路径格式,相等路径不好使。<link rel="stylesheet" href="/aliIcon/iconfont.css"></link>原创 2020-10-30 22:30:26 · 2979 阅读 · 2 评论 -
rem和@medi实现响应式布局
响应式布局指的是同一页面在不同屏幕尺寸下有不同的布局。传统的开发方式是PC端开发一套,手机端再开发一套,而使用响应式布局只要开发一套就够,缺点就是CSS比较重。响应式设计与自适应设计的区别:响应式开发一套界面,通过检测视口分辨率,针对不同客户端在客户端做代码处理,来展现不同的布局和内容;自适应需要开发多套界面,通过检测视口分辨率,来判断当前访问的设备是pc端、平板、手机,从而请求服务层,返回不同的页面。@media (max-width: 600px) { .contents { fle原创 2020-10-30 22:25:10 · 803 阅读 · 0 评论 -
个人博客站点---完全开源---随用随取
最近接触到了next.js前后端同构框架,借此机会搭建了个人的博客站点,并进行了vercel部署,现已上线,欢迎fork学习交流~ 网站地址 : http://sunzhaoxiang.com/ 代码地址 : https://github.com/SUNNERCMS/sunnercms-nextJsBlog由于博客站点正在开发中,所有工程配置、功能添加、bug处理等,均会记录在github中,欢迎fork,在此基础上快速搭建属于自己的博客。有问题或疑问,可评论或私信~待办:vercel部署流原创 2020-10-28 12:33:04 · 519 阅读 · 0 评论 -
next.js中antd引入以及按需加载
babel: babel是一种js语法编译器,在前端开发过程中,由于浏览器的版本和兼容性问题,很多js的新方法和特性的使用都受到了限制。使用babel可以将代码中js代码编译成兼容绝大多数主流浏览器的代码。 简而言之,就是把不兼容的 JavaScript 代码转为可兼容,可以执行的 JavaScript 代码。功能:语法转换 添加一些兼容性的 polyfill 功能 源码转换等(1) presets :是某一类 plugin 的集合,包含了某一类插件的所有功能。(2) plugin原创 2020-10-27 20:03:52 · 6800 阅读 · 0 评论 -
homebrew的暴力有效安装
遇到的问题,最后截了两张,由于试了很多方法,之前遇到的问题也比较多,没有来的及记录。还有一些莫名其妙的其他问题,总之,就是装不上,装上了就是不能用,相当恶心和无措,于是上网各种搜索和尝试,最终找到了解决方法,成功安装,并可以快速下载1、如果你之前折腾过不少导致你的Homebrew有点问题,那么可以尝试使用如下方案 :# 重置brew.git设置:$ cd "$(brew --repo)"$ git fetch$ git reset --hard origin/maste...原创 2020-06-29 15:59:47 · 472 阅读 · 0 评论 -
对象及属性
1、数据属性(1)configurable: 能否通过delete删除属性从而重新定义属性,能否修改属性的特性。(2)enumrable: 能否通过for-in循环返回属性(3)writable: 能否修改属性的值(4)value:该属性的数据值,默认undefined2、访问器属性(1)configurable: 能否通过delete删除属性从而重新定义属性,能否修改属性的特性。(2)enumrable: 能否通过for-in循环返回属性(3)get: 在读取属性时调用的函数(4)set:在原创 2020-06-18 09:58:14 · 906 阅读 · 0 评论 -
6月22日!苹果WWDC大会,全球免费参加-首次在线举行!
简语:开发者免费参加、Swift学生挑战赛、科技“春晚”6月22日!苹果WWDC大会,全球免费参加-首次在线举行!转载 2020-05-09 00:01:12 · 487 阅读 · 0 评论 -
JavaScript之reduce()和reduceRight()方法
JavaScript学习笔记:数组reduce()和reduceRight()方很多时候需要累加数组项的得到一个值(比如说求和)。如果你碰到一个类似的问题,你想到的方法是什么呢?会不会和我一样,想到的就是使用for或while循环,对数组进行迭代,依次将他们的值加起来。比如:var arr = [1,2,3,4,5,6];Array.prototype.sum = function (){ ...转载 2018-05-18 20:40:55 · 1876 阅读 · 0 评论 -
浅谈MVC、MVP、MVVM架构模式的区别和联系
MVC、MVP、MVVM这些模式是为了解决开发过程中的实际问题而提出来的,目前作为主流的几种架构模式而被广泛使用。一、MVC(Model-View-Controller)MVC是比较直观的架构模式,用户操作->View(负责接收用户的输入操作)->Controller(业务逻辑处理)->Model(数据持久化)->View(将结果反馈给View)。MVC使用非常广泛,比如J...转载 2018-05-08 17:13:25 · 150 阅读 · 0 评论 -
理解JS中的call、apply、bind方法
在JavaScript中,call、apply和bind是Function对象自带的三个方法,这三个方法的主要作用是改变函数中的this指向。call、apply、bind方法的共同点和区别:apply 、 call 、bind 三者都是用来改变函数的this对象的指向的;apply 、 call 、bind 三者第一个参数都是this要指向的对象,也就是想指定的上下文(函数的每次调用都会拥有一个...转载 2018-05-15 12:47:41 · 243 阅读 · 0 评论 -
Vue.js和MVVM
Vue.js和MVVM的小细节MVVM是Model-View-ViewModel的缩写,它是一种基于前端开发的架构模式,其核心是提供对View和ViewModel的双向数据绑定,这使得ViewModel的状态改变可以自动传递给View,即所谓的数据双向绑定。Vue.js是一个提供了MVVM风格的双向数据绑定的JavaScript库,专注于View层。它的核心是MVVM中的VM,也就是ViewMod...转载 2018-05-08 16:59:24 · 373 阅读 · 0 评论 -
JavaScript 内存泄漏相关知识
1、什么是内存泄漏?不再用到的内存,没有及时释放,就叫做内存泄漏(memory leak)。2、垃圾回收机制垃圾回收机制怎么知道,哪些内存不再需要呢?最常使用的方法叫做"引用计数"(reference counting):语言引擎有一张"引用表",保存了内存里面所有的资源(通常是各种值)的引用次数。如果一个值的引用次数是0,就表示这个值不再用到了,因此可以将这块内存释放。3、内存泄漏的识别方法...转载 2018-05-08 13:24:06 · 267 阅读 · 0 评论 -
详解javascript立即执行函数表达式(IIFE)
写在前面这是一篇译文,原文:Immediately-Invoked Function Expression (IIFE)原文是一篇很经典的讲解IIFE的文章,很适合收藏。本文虽然是译文,但是直译的很少,而且添加了不少自己的理解。ps:下文中提到的“立即执行函数”其实就是“立即执行函数表达式”我们要说的到底是什么?在javascript中,每一个函数在被调用的时候都会创建一个执行上下文,在该函数内部...转载 2018-04-29 13:38:29 · 469 阅读 · 0 评论 -
js 基本类型与引用类型的区别
js 基本类型与引用类型的区别ECMAScirpt 变量有两种不同的数据类型:基本类型,引用类型。也有其他的叫法,比如原始类型和对象类型,拥有方法的类型和不能拥有方法的类型,还可以分为可变类型和不可变类型,其实这些叫法都是依据这两种的类型特点来命名的,大家爱叫啥就叫啥吧 。1.基本类型基本的数据类型有:`undefined,boolean,number,string,null.基本类型的访问是按值...转载 2018-05-19 20:58:01 · 277 阅读 · 0 评论 -
Array.prototype.slice.apply(arguments)和Array.from(arguments)
题目描述函数 useArguments 可以接收 1 个及以上的参数。请实现函数 useArguments,返回所有调用参数相加后的结果。本题的测试参数全部为 Number 类型,不需考虑参数转换。示例1输入1, 2, 3, 4输出10解答:方法1.function useArguments() { var sum=0; for(var i=0;i<arguments.lengt...转载 2018-05-18 21:54:10 · 917 阅读 · 0 评论 -
数组去重合并
function combine(){ let arr = [].concat.apply([], arguments); //合并操作:concat()返回的是连接后的新数组,此时并没有去重 return Array.from(new Set(arr)); //去重操作:new Set(),返回值是一个去重后新的Set对象,用Array.from()将对象转化为数组 ...原创 2018-05-18 21:45:33 · 2230 阅读 · 0 评论 -
CommonJS规范
目录概述module对象module.exports属性exports变量AMD规范与CommonJS规范的兼容性require命令基本用法加载规则目录的加载规则模块的缓存环境变量NODE_PATH模块的循环加载require.main模块的加载机制require的内部处理流程参考链接概述Node 应用由模块组成,采用 CommonJS 模块规范。每个文件就是一个模块,有自己的作用域。在一个文件里...转载 2018-05-16 18:39:03 · 514 阅读 · 0 评论 -
meta标签中兼容模式详解 http-equiv="X-UA-Compatible"
X-UA-Compatible是针对IE8新加的一个设置,对于IE8之外的浏览器是不识别的,这个区别与content="IE=7"在无论页面是否包含<!DOCTYPE>指令,都像是使用了 Windows Internet Explorer 7的标准模式。而content="IE=EmulateIE7"模式遵循<!DOCTYPE>指令。对于多数网站来说,它是首选的兼容性模式。...转载 2018-06-07 20:56:49 · 9466 阅读 · 0 评论 -
前端优化系列之DNS预获取 dns-prefetch 提升页面载入速度
前端优化系列之一:DNS预获取 dns-prefetch 提升页面载入速度DNS Prefetch,即DNS预获取,是前端优化的一部分。一般来说,在前端优化中与 DNS 有关的有两点: 一个是减少DNS的请求次数,另一个就是进行DNS预获取 。DNS 作为互联网的基础协议,其解析的速度似乎很容易被网站优化人员忽视。现在大多数新浏览器已经针对DNS解析进行了优化,典型的一次DNS解析需要耗费 20-...转载 2018-06-07 21:26:08 · 2168 阅读 · 0 评论 -
异步,作用域,闭包
for(var i=0;i<=3;i++){ setTimeout(function() { console.log(i) }, 10);}答案:打印4次4这道题涉及了异步、作用域、闭包settimeout是异步执行,10ms后往任务队列里面添加一个任务,只有主线上的全部执行完,才会执行任务队列里的任务,当主线执行完成后,i是4,所以此时再去执行任务队列里的任务时,i全部是4了。对于打印...转载 2018-03-08 16:38:36 · 167 阅读 · 0 评论 -
Hybrid学习笔记
原创 2019-08-11 15:26:14 · 592 阅读 · 0 评论 -
代码规范
注释之前需要有空格;if嵌套不能超过三层 ,-》封装不要回调嵌套-》promise原创 2019-07-28 15:53:12 · 278 阅读 · 0 评论 -
Photoshop切图
原创 2019-07-31 08:32:17 · 220 阅读 · 0 评论 -
Mac 查看端口占用情况及杀死进程
转载 2019-07-29 09:59:10 · 228 阅读 · 0 评论 -
各种小知识点(笔记本)
1、localStorage 里面只会储存 String 类型数据如果传入的是非 String 则会直接使用 toString 转换:({}).toString() //"[object Object]",这时候就会发生异常,所以才需要先使用JSON.stringify()将 Object 转换成 json 格式,读取出来之后再利用JSON.parse()转换为 Object。2...原创 2019-02-20 12:51:08 · 686 阅读 · 0 评论 -
JavaScript版数据结构与算法
最近看到一个不错的课程,慕课上的,推荐一下《JavaScript版 数据结构与算法》JavaScript版数据结构与算法原创 2019-02-18 13:09:02 · 1893 阅读 · 0 评论 -
Stack Overflow 打不开,登录不上,火狐和Chrome浏览器的完美解决方案
“Stack Overflow requires external JavaScript from another domain, which is blocked or failed to load.”的解决方案由于众所周知的原因,只需替换一个域名就可以继续使用Google提供的前端公共库了,很多网站,尤其是国外网站,为了加快网站的速度,都是用了 Google 的 CDN。 但是在天朝,...原创 2019-01-11 18:06:32 · 15201 阅读 · 30 评论 -
Console 调试各种姿势指南
推荐一个特别赞的微信公众号,3-6分钟的零碎时间可以积累前端知识点1、console.log 的更多用法参数支持类似 C 语言的字符串替换模式。%s 字符串 %d 整数 %f 浮点值 %o Object %c 设定输出的样式,第二个参数里的值对%c后面的参数进行设置之后在控制台显示出来。示例如下:2、清空 console 面板输出内容要清空已经打印输出的内...原创 2018-12-26 15:09:02 · 1119 阅读 · 0 评论 -
js事件循环机制
一、JS单线程、异步、同步概念 从上一篇说明vue nextTick的文章中,多次出现“事件循环”这个名词,简单说明了事件循环的步骤,以便理解nextTick的运行时机,这篇文章将更为详细的分析下事件循环。在此之前需要了解JS单线程,及由此产生的同步执行环境和异步执行环境。 众所周知,JS是单线程(如果一个线程删DOM,一个线程增DOM,浏览器傻逼了~所以只能单着了),虽然有webwo...转载 2018-08-14 17:39:13 · 19255 阅读 · 1 评论 -
绝对路径和相对路径详解
绝对路径和相对路径详解比如说你的C盘ABC文件夹下有两个文件1和2如果要文件1说出文件2的位置(也就是路径),那么它有两种表示方法:C:\ABC\2 这就是绝对路径,指明2文件在C盘ABC文件下,从最大的目录C盘开始表示出来.2这就是相对路径,因为1文件和2文件都在C:\ABC下,所以它们的路径前面"C:\ABC"都是一样,就不用表示出来了..而把页面传到服务器上就总是出现看不到图片,css样式...转载 2018-06-09 12:21:07 · 1024 阅读 · 1 评论 -
Javascript中关于Array.filter()的妙用详解
强烈推荐30个原生JavaScript的demo,包括canvas时钟特效、自定义视频播放器、搜索栏快速匹配、fetch访问资源、console调试技巧等,先fork后学习,详见点击打开链接,欢迎点赞~~~谢谢,共同进步学习!前言和map类似,Array的filter也接收一个函数。但是和map不同的是, filter把传入的函数依次作用于每个元素,然后根据返回值是 true 还是fals...转载 2018-05-17 21:43:30 · 34943 阅读 · 2 评论 -
CSS3 box-shadow 属性
定义和用法box-shadow 属性向框添加一个或多个阴影。语法box-shadow: h-shadow v-shadow blur spread color inset;注释:box-shadow 向框添加一个或多个阴影。该属性是由逗号分隔的阴影列表,每个阴影由 2-4 个长度值、可选的颜色值以及可选的 inset 关键词来规定。省略长度的值是 0。值描述测试h-shadow必需。水平阴影的位置...转载 2018-05-09 13:02:43 · 255 阅读 · 0 评论 -
CSS3 中的rem
以需求来介入:都知道现在手机屏幕分辨率越来越多了,假设我们的网页需要适配的iPhone4(320px),iPhone6(375px),iPhone6 Plus(414px)。我们的需求是,当用户浏览网页时,根据屏幕的尺寸,来向用户展示更适合用户的文字、图片、按钮大小。(1)iPhone4的时候,希望网页的内容文字大小12px=12*(320/320)px,按钮的大小是240px。(2)Iphone...转载 2018-03-09 18:37:18 · 499 阅读 · 0 评论 -
JSON 语法
JSON 语法JSON 语法是 JavaScript 语法的子集。JSON 语法规则JSON 语法是 JavaScript 对象表示语法的子集。数据在名称/值对中数据由逗号分隔大括号保存对象中括号保存数组JSON 名称/值对JSON 数据的书写格式是:名称/值对。名称/值对包括字段名称(在双引号中),后面写一个冒号,然后是值:"name" : "菜鸟教程"这很容易理解,等价于这条 JavaScri...转载 2018-03-01 13:19:14 · 236 阅读 · 0 评论