自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 资源 (7)
  • 收藏
  • 关注

转载 https的页面中可以发起http的请求吗

https的页面中可以发起http的请求吗

2022-07-21 11:06:02 9718 2

转载 编译型语言和解释型语言的区别

我们编写的源代码是人类语言,我们自己能够轻松理解;但是对于计算机硬件(CPU),源代码就是天书,根本无法执行,计算机只能识别某些特定的二进制指令,在程序真正运行之前必须将源代码转换成二进制指令。所谓的二进制指令,也就是机器码,是 CPU 能够识别的硬件层面的“代码”,简陋的硬件(比如古老的单片机)只能使用几十个指令,强大的硬件(PC 和智能手机)能使用成百上千个指令。然而,究竟在什么时候将源代码转换成二进制指令呢?不同的编程语言有不同的规定:有的编程语言要求必须提前将所有源代码一次性转换成二进制..

2022-04-19 15:05:39 3825

原创 js手写代码

function myInstanceof(instance, Constructor){ if(typeof instance !== "object" || instance === null){ throw 'instance is error'; } if(typeof Constructor !== "function"){ throw 'Constructoris error'; } let prototype =.

2020-12-13 20:51:10 5433

原创 函数传参你真的懂吗?

直接开门见山,上代码!var a = 1;function func(args) { args = 10; console.log("args:"+args);}func(a);console.log("a:"+a);/**args:10a:1**/var a = { 'x':1};function func(args) { args.x = 10; console.log("args.x:"+args.x);}func(a);console.log("

2020-11-20 15:06:23 6242

原创 浅谈V8引擎中的垃圾回收机制

垃圾回收机制如何判断是否可以回收1.1 标记清除当变量进入环境(例如,在函数中声明一个变量)时,就将这个变量标记为“进入环境”。从逻辑上讲,永远不能释放进入环境的变量所占用的内存,因为只要执行流进入相应的环境,就可能会用到它们。而当变量离开环境时,则将其标记为“离开环境”。可以使用任何方式来标记变量。比如,可以通过翻转某个特殊的位来记录一个变量何时进入环境,或者使用一个“进入环境的”变量列表及一个“离开环境的”变量列表来跟踪哪个变量发生了变化。如何标记变量并不重要,关键在于采取什么策略。

2020-11-05 16:33:50 6367 1

原创 浅析浏览器的Event Loop

前言众所周知 JS 是门非阻塞单线程语言,因为在最初 JS 就是为了和浏览器交互而诞生的。如果 JS 是门多线程语言的话,我们在多个线程中处理 DOM 就可能会发生问题(一个线程中新加节点,另一个线程中删除节点,这样的话浏览器就知不道要怎么操作了,到底是新增还是删除,很矛盾)。所以JS 就被设计成单线程语言,之前是这样,今后也是这样。Event LoopEvent Loop 是计算机系统的一种运行机制。想要理解 Event Loop,就要从程序的运行模式讲起。运行以后的程序叫做"进程"(p.

2020-10-28 09:33:36 6245

转载 event.target 和 event.currentTarget 的区别

event.targetThis property of event objects is the object the event was dispatched on. It is different than event.currentTarget when the event handler is called in bubbling or capturing phase of the event.event.currentTargetIdentifies the current .

2020-10-28 09:33:16 6558

转载 帮你彻底搞懂JS中的prototype、__proto__与constructor(图解)

目录1. 前言2. _ _ proto _ _ 属性3. prototype属性4. constructor属性5. 总结1. 前言作为一名前端工程师,必须搞懂JS中的prototype、__proto__与constructor属性,相信很多初学者对这些属性存在许多困惑,容易把它们混淆,本文旨在帮助大家理清它们之间的关系并彻底搞懂它们。这里说明一点,__proto__属性的两边是各由两个下划线构成(这里为了方便大家看清,在两下划线之间加入了一个空格:_ _proto_ _,读作

2020-07-15 17:14:55 6746 2

原创 细说innerHTML、innerText、outerHTML、outerText、textContent的区别

简析这几个属性都是原生 JS 用来获取和设置 DOM 节点的内容的,但是获取的内容格式和范围却有一些不同。对比一先上一段代码<div id="test"> <span style="color:red">test1</span> test2 </div>var elementNode = document.getElementById('test');innerHTML获取或设置从对象的起始位置到终止位置的全.

2020-07-03 17:47:34 8650

原创 初窥Deno 1.0面纱

引言2020 年 5 月 13 日,可能是前端开发史上又一个里程碑式的一天,因为一个名为 Deno 的库 1.0 版本正式发布了。那么问题来了,Deno 是什么?为什么说是里程碑?它和 Node 有什么关系?和我又有什么关系?带着疑问,跟着我一起来初窥 Deno 1.0 的神秘面纱吧。背景Deno 是 Ryan Dahl 在 2017 年开始的一个项目。从那时候开始,就有不少人开始关注这个项目了,为什么?这要从 Ryan Dahl 这个人说起。Ryan Dahl ,2009 年创..

2020-05-29 16:17:37 9870

转载 Chrome 页面呈现原理与性能优化之企业级分享总结

背景前段时间梳理了一下浏览器相关的知识,还做了一个公司级的分享,60多人过来听了我的分享,感觉还行,哈哈。先看一下分享目录:本篇文章,如果直接贴ppt图,理解起来可能比较费劲,这里就大概讲一下内容,再附上我之前已经把部分内容输出了完整的文章的链接,方便大家结合ppt来理解,因此本文结合ppt食用效果更佳哦~PS:公众号后台回复数字:0052即可获取本次分享的完整ppt...

2020-03-16 09:36:27 6785

转载 「硬核JS」一次搞懂JS运行机制

前言从开始做前端到目前为止,陆续看了很多帖子讲JS运行机制,看过不久就忘了,还是自己理一遍好些通过码字使自己对JS运行机制相关内容更加深刻(自己用心写过的贴子,内容也会牢记于心)顺道给大家看看(我太难了,深夜码字,反复修改,说这么多就是想请你点个赞在看)参考了很多资料(帖子),取其精华,去其糟糠,都在文末,可自行了解是时候搞一波我大js了从零到一百再到一,从多方面了解JS的...

2020-03-10 15:33:47 7541

转载 解密HTTP/2与HTTP/3 的新特性

前言HTTP/2 相比于 HTTP/1.1,可以说是大幅度提高了网页的性能,只需要升级到该协议就可以减少很多之前需要做的性能优化工作,当然兼容问题以及如何优雅降级应该是国内还不普遍使用的原因之一。虽然 HTTP/2 提高了网页的性能,但是并不代表它已经是完美的了,HTTP/3 就是为了解决 HTTP/2 所存在的一些问题而被推出来的。一、HTTP/1.1发明以来发生了哪些变化?如果...

2020-03-04 10:50:47 6687

原创 js 如何使 (aᅠ==1 && a== 2 && a==3) 返回 true?

今天刷博客的时候,看到了一道有趣的面试题“如何使 (aᅠ==1 && a== 2 && a==3) 返回 true”,咋一眼看过去,觉得非常的unbelievable!!!看了别人给的答案之后,陷入了沉思。。。然后感叹一声:原来如此!解法一:对象类型转换var a = { i: 1, toString: function...

2020-03-02 14:50:22 7017 1

原创 前端加分项之Nginx(上篇)

​日常生活中,我们免不了要去一些比较拥挤的地方,比如地铁站、火车站、银行等。这些地点都有一个特征,都会设置多个服务点或者入口,大多数情况下,最近的入口会挤满人,而那些距离较远的服务点或者入口来说,人流密度一般会少很多。其实,网站的建设也是一样的,一般公司网站或者系统都是有好几台甚至更多服务器一起支撑起来的。当用户集中访问网站的时候,如果没有任何机制来疏导用户的访问,完全随机或者就近原则的话,那...

2019-09-17 15:20:44 6748

原创 微信浏览器禁止页面下拉查看网址(不影响页面内部scroll)

此类事件是手机touchmove默认事件行为,可以通过js代码隐藏事件:$(‘body’).on(‘touchmove’, function (event){ event.preventDefault();});document.addEventListener('touchmove', { function(e){ e.preventDefault...

2019-08-14 15:45:01 9400

原创 实例解析forEach、for...in与for...of

在开发过程中经常需要循环遍历数组或者对象,js也为我们提供了不少方法供使用,其中就有三兄弟forEach、for...in、for...of,这三个方法应该是使用频率最高的,但很多人却一值傻傻分不清,经常该混淆了它们的功能和注意点。就在今天,我来给它们一个大区分(*・ω< )。forEachforEach() 方法对数组的每个元素执行一次提供的函数。从ES5开始,Javasc...

2019-03-22 15:30:43 7058

转载 RESTful API浅谈

RESTREST全称是Representational State Transfer,中文翻译的话有很多种说法,比如:表现层状态转化、表述性状态转移、表述性状态传递等等,不管怎么翻译,大致的意思都是:资源在网络中以某种表现形式进行状态转移。理解“表现层状态转化”:1. Representational(表现层)某种表现形式,比如用JSON,XML,JPEG等。我们把"资...

2019-03-19 17:01:53 6925

原创 秒懂HTTPS

目录 http和https 背景 实现 弊端 前景http和httpsHTTP:超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP)是一种用于分布式、协作式和超媒体信息系统的应用层协议。HTTP是万维网的数据通信的基础。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。通过HT...

2019-03-14 11:15:19 7217

转载 前端之未来

目录引回顾过去立足当下一窥未来App Development Engine语雀专项技术App Runtime领域服务全功能型团队砥砺前行引近期学到一个词:Digital Twin(数字孪生),简单来讲就是在计算机世界给现实世界的物体(飞船/城市)、系统(电力/交通)建立数字化镜像,让数字世界和物理世界更好地交互,数字大屏也可以算这种技术一...

2019-03-12 10:50:38 7459

原创 深入浅出js中的this

Q:this是什么?A:this是Javascript语言的一个关键字,它代表函数运行时,自动生成的一个内部对象,在每个 function 中自动根据作用域(scope) 确定, 指向的是此次调用者。Q:this的使用场景?A:1.普通函数调用。  2.作为对象的方法来调用。  3.作为构造函数调用。  4.函数被call,apply,bind调用的时候。...

2019-03-05 17:03:21 6916

转载 Git版本控制软件从入门到精通学习手册

GIT 学习手册简介本站为 Git 学习参考手册。目的是为学习与记忆 Git 使用中最重要、最普遍的命令提供快速翻阅。 这些命令以你可能需要的操作类型划分,并且将提供日常使用中需要的一些常用的命令以及参数。一、获取与创建项目在学习和使用git之前,我们得先了解一下git的一些概念,在了解了这些概念和关系之后,对于后面的学习至关重要!上面展示的是git的几个关键的...

2019-03-01 09:36:41 7299

原创 js中的栈、堆、队列、内存空间

栈(stack) 、堆(heap)、 队列(queue)是js的三种数据结构。栈(stack)栈的特点是"LIFO,即后进先出(Last in, first out)"。数据存储时只能从顶部逐个存入,取出时也需从顶部逐个取出。《前端进击的巨人(一):执行上下文与执行栈,变量对象》中解释执行栈时,举了一个乒乓球盒子的例子,来演示栈的存取方式,这里再举个栗子搭积木。举个栗子:乒乓球盒子...

2019-02-26 11:56:35 7417

转载 web 应用常见安全漏洞一览

1. SQL 注入 SQL 注入就是通过给 web 应用接口传入一些特殊字符,达到欺骗服务器执行恶意的 SQL 命令。SQL 注入漏洞属于后端的范畴,但前端也可做体验上的优化。原因当使用外部不可信任的数据作为参数进行数据库的增、删、改、查时,如果未对外部数据进行过滤,就会产生 SQL 注入漏洞。比如:name = "外部输入名称";sql = "select * fr...

2019-02-25 17:20:52 7667 1

原创 【入门篇】js正则表达式

前言最近有了点时间,就回头看了一下《学习正则表达式》这本书。怎么说呢,这本书适合从零开始学习正则表达式或者有一点基础但是想要加强这方面能力的读者。这本书的风格是“实践出真知”,使用归纳方式讲述, 也就是说, 会从特例讲起, 最终归结到一般情况。不会先陈述观点, 然后举例, 而是先为大家展示示例, 然后归纳出一般性结论。所以刚开始的话还是有点不习惯这种风格。吐槽只是皮一下而已啦,这本...

2019-02-25 11:03:13 7809 2

原创 js类型----你所不知道的JavaScript系列(5)

ECMAScirpt 变量有两种不同的数据类型:基本类型,引用类型。也有其他的叫法,比如原始类型和对象类型等。1、内置类型JavaScript 有七种内置类型: • 空值(null) • 未定义(undefined) • 布尔值(boolean) • 数字(number) • 字符串(string) • 对象(object) • 符号(symbol, ES6 中新增)除对...

2018-07-19 16:41:12 6939

原创 深入浅出js中的this

Q:this是什么?A:this是Javascript语言的一个关键字,它代表函数运行时,自动生成的一个内部对象,在每个 function 中自动根据作用域(scope) 确定, 指向的是此次调用者。 Q:this的使用场景?A:  1.普通函数调用。  2.作为对象的方法来调用。  3.作为构造函数调用。  4.函数被call,apply,bind调用的时候。 栗子:普通函数调用function...

2018-07-05 09:42:44 6769

原创 js监听浏览器离开页面操作

序言  大家是否经常遇到在关闭网页的时候,会看到一个确定是否离开当前页面的提示框?想一些在线测试系统、信息录入系统等就经常会有这一些提示,避免用户有意或者无意中关掉了页面,导致数据丢失。这里面的实现过程很简单,利用了HTML DOM事件中的onunload和onbeforeunload方法。unload 事件属性  定义:当用户卸载文档时执行一段 JavaScript,例如:&lt;body on...

2018-07-05 09:37:18 12891

原创 JavaScript 调试常见报错以及原因

在程序开发中难免会遇到一些错误,在成千上万的代码中去寻找错误很明显相当于大海捞针,为此,每种计算机编程语言都要它独特的一套错误处理与调试机制。当然,JavaScript也不例外。但是,接触过javascript的人都知道,在调试js的过程中有时候真想砸电脑。因为在调试的过程中,控制台给出的错误非常难以理解,其次给出的行号不总有帮助。虽然很多时候都要靠经验去判断,但是控制台给出的错误提示也并不是一点...

2018-07-04 18:49:30 7135

原创 浏览器缓存机制详解

     对于浏览器缓存,相信很多开发者对它真的是又爱又恨。一方面极大地提升了用户体验,而另一方面有时会因为读取了缓存而展示了“错误”的东西,而在开发过程中千方百计地想把缓存禁掉。那么浏览器缓存究竟是个什么样的神奇玩意呢?什么是浏览器缓存:  简单来说,浏览器缓存就是把一个已经请求过的Web资源(如html页面,图片,js,数据等)拷贝一份副本储存在浏览器中。缓存会根据进来的请求保存输出内容的副本...

2018-07-04 18:39:06 7410

原创 浏览器渲染原理及流程

我们可能都知道浏览器含有一个渲染引擎,用来渲染窗口所展示的内容。默认情况下,渲染引擎可以显示html、xml文档及图片,它也可以借助插件(一种浏览器扩展)显示其他类型数据,例如使用PDF阅读器插件,用于显示PDF格式。但是其具体的渲染原理和流程估计也有很多人都不知道或者不清楚吧。这些天研究了一下浏览器的渲染原理,有了些心得,在这里跟大家分享一下,这里只讨论渲染引擎最主要的用途——显示应用了CSS之...

2018-07-04 18:35:08 6935

原创 浏览器沙箱模型

简介  沙箱模型技术是浏览器和其他应用程序中保护安全的一种组件关系设计模式,最初发明人为GreenBorder公司。2007年5月,谷歌公司收购了该公司,也将此项专利应用于chrome浏览器的研发中。 背景  一般而言,对于网络上的网页中的JavaScript代码和插件都是不受信的(除非是经过认证的网站),特别是一些故意设计侵入浏览器运行的主机代码更是非常危险,通过一些手段或者浏览器中的漏洞,这些...

2018-07-04 18:33:24 7338

原创 cocos creator踩坑日记

踩坑一问题:项目在构建成Web Mobile后运行在浏览器和微信中,点击页面任何地方都会导致自动全屏解决:在构建之后的main.js中,去掉 cc.view.enableAutoFullScreen(true)或者手动改写成cc.view.enableAutoFullScreen(false) 踩坑二问题:creator项目在ios浏览器和微信中不会自动播放音频(即使代码中设置了自动播放也是如此)...

2018-07-04 18:26:23 7600

原创 移动前端图片压缩上传

摘要:之前在做一个小游戏平台项目,有个“用户中心”模块,就涉及到了头像上传的功能。在做移动端图片上传的时候,传的都是手机本地图片,而本地图片一般都相对比较大,拿现在的智能手机来说,平时拍很多图片都是两三兆的,如果直接这样上传,那图片就太大了,如果用户用的是移动流量,完全把图片上传显然不是一个好办法。所以上传之前进行压缩处理是必要的,在网上找了很多资料之后,尝试了很多方法,遇到了很多坑,比如安卓能够...

2018-07-04 18:12:10 7066

原创 闭包----你所不知道的JavaScript系列(4)

一、闭包是什么?  · 闭包就是可以使得函数外部的对象能够获取函数内部的信息。  · 闭包是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。  · 闭包就是一个“捕获”或“携带”了其被生成的环境中、所属的变量范围内所引用的所有变量的函数。  还有很多很多解释......   函数对象可以通过作用域链互相关联起来,函数体内部的变量都可以保存在函数作...

2018-07-04 18:03:08 6763

原创 提升----你所不知道的JavaScript系列(3)

很多编程语言在执行的时候都是自上而下执行,但实际上这种想法在JavaScript中并不完全正确, 有一种特殊情况会导致这个假设是错误的。来看看下面的代码,a = 2;var a;console.log( a );console.log(a) 会输出什么呢?有些人可能会认为是 undefined,因为 var a 声明在 a = 2 之后,他们自然而然地认为变量被重新赋值了,因此会被赋予默认值 ...

2018-07-04 17:39:45 6964

原创 let和const----你所不知道的JavaScript系列(2)

let众所周知,在ES6之前,声明变量的关键字就只有var。var 声明变量要么是全局的,要么是函数级的,而无法是块级的。var a=1;console.log(a); //1console.log(window.a); //1function test(){  var b=2;  function print(){    console.log(a,b);  } pr...

2018-07-04 17:01:21 6906

原创 LHS 和 RHS----你所不知道的JavaScript系列(1)

变量的赋值操作会执行两个动作, 首先编译器会在当前作用域中声明一个变量(如果之前没有声明过), 然后在运行时引擎会在作用域中查找该变量, 如果能够找到就会对它赋值。----《你所不知道的JavaScript(上)》 P7而要讲的 LHS 和 RHS 就是上面说的对变量的两种查找操作,查找的过程是由作用域(词法作用域)进行协助,但是引擎执行怎样的查找, 会影响最终的查找结果。 1、LHS(Left ...

2018-07-04 16:45:47 540

TinyPNG Photoshop插件 支持CC.tar

直接使用Photoshop压缩并保存JPEG和PNG图片。 安装插件您即刻就可以使用。 一个新的菜单项会出现在Photoshop中,使用这个菜单您可以缩放、预览、选择文件夹并保存图片。 亲测可用,若无效课差评~

2019-09-10

腾讯Web页面设计规范

设计原则目前已经有很多,例如尼尔森的十大可用性原则、格式塔原则、剃刀法则、费茨定律、以及设计中常见的对比、对齐等,那么对于这么多原则如何变成一套自己的设计规范的设计原则篇呢?这个需要设计师们根据自身情况或者自身团队实际情况去把控梳理。这里共享一套腾讯的Web页面设计规范

2019-03-22

Web前端黑客技术揭秘

Web前端的黑客攻防技术是一门非常新颖且有趣的黑客技术,主要包含Web前端安全的跨站脚本(XSS)、跨站请求伪造(CSRF)、界面操作劫持这三大类,涉及的知识点涵盖信任与信任关系、Cookie安全、Flash安全、DOM渲染、字符集、跨域、原生态攻击、高级钓鱼、蠕虫思想等,这些都是研究前端安全的人必备的知识点。

2019-03-22

程序员健康指南【超清版】

为什么说你该读这本书呢?最重要的原因就是,你的生活有赖健康的身体来继 续。其次,你的事业也有赖健康的身体来发展。如果想在未来几年继续从事热爱的工作,那么就该看看这本书。

2019-02-26

sublime text 3 注册码(亲测可用!)

sublime text 3 注册码(亲测可用!) 具体操作:在sublime里面:Help -> Enter License ,然后输入注册码即可完成注册。

2017-10-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除