前端开发
suhuaiqiang_janlay
这个作者很懒,什么都没留下…
展开
-
performance 查看页面性能
我们都知道浏览器从打开 url 到整个页面渲染完成,中间的过程,大致是 DOM 解析,CSSOM 解析,JS 解析,渲染。网上关于这些内容的文章也很多了,本文不再赘述。今天主要介绍 performance 这个衡量页面加载性能的工具。performance 有好几个属性,但是由于浏览器支持程度不同,我们主要用到的是支持最广泛,最常用的performance.timing这个属性。pe...转载 2019-11-19 10:55:13 · 2408 阅读 · 0 评论 -
undefined与null的区别
大多数计算机语言,有且仅有一个表示"无"的值,比如,C语言的NULL,Java语言的null,Python语言的None,Ruby语言的nil。有点奇怪的是,JavaScript语言居然有两个表示"无"的值:undefined和null。这是为什么?一、相似性在JavaScript中,将一个变量赋值为undefined或null,老实说,几乎没区别。var a = undefined;var...转载 2018-05-29 19:56:08 · 8021 阅读 · 1 评论 -
import和require的区别
node编程中最重要的思想就是模块化,import和require都是被模块化所使用。遵循规范require 是 AMD规范引入方式import是es6的一个语法标准,如果要兼容浏览器的话必须转化成es5的语法调用时间require是运行时调用,所以require理论上可以运用在代码的任何地方import是编译时调用,所以必须放在文件开头本质require是赋值过程,其实require的结果就是对...转载 2018-05-29 20:50:49 · 3897 阅读 · 0 评论 -
JavaScript 和 TypeScript 交叉口 —— 类型定义文件(*.d.ts)
在 《从 JavaScript 到 TypeScript 系列》 文章我们已经学习了 TypeScript 相关的知识。TypeScript 的核心在于静态类型,我们在编写 TS 的时候会定义很多的类型,但是主流的库都是 JavaScript 编写的,并不支持类型系统。那么如何让这些第三方库也可以进行类型推导呢?这篇文章我们来讲解 JavaScript 和 TypeScript 的静态类型交叉口 ...转载 2018-05-30 17:52:46 · 6409 阅读 · 0 评论 -
【webpack】webpack-dev-server生猛上手——让我们来搭一个webpack的微服务器吧!
正文 [前言]:因为最近在搞百度地图API的时候用到了webpack的externals,才发现我之前都只是用webpack做一些搭建完项目后的“收尾工作”——即打包,而没有把它纳入到项目开发的“主体过程”中来,真是“物不尽其用”。于是就有了我今天的这篇学习文章:利用webpack-dev-server搭建一个webpack的服务器参考资料:webpack-dev-server的g...转载 2018-11-06 17:47:16 · 420 阅读 · 0 评论 -
XHR简介
在XHR诞生前,网页要获取客户端和服务器的任何状态更新,都需要刷新一次,在XHR诞生后就可以完全通过JS代码异步实现这一过程。XHR的诞生也使最初的网页制作转换为开发交互应用,拉开了WEB2.0的序幕。 XHR是一种浏览器API,极大简化了异步通信的过程,开发者并不需要关注底层的实现,因为浏览器会为我们完成这些工作,如连接管理、协议协商、HTTP请求格式化等等。最初版本的XHR能力非常有限,只...转载 2018-12-10 18:36:07 · 320 阅读 · 2 评论 -
JavaScript 垃圾回收
在公司经常会听到大牛们讨论时说道内存泄露神马的,每每都惊羡不已,最近精力主要用在了Web 开发上,读了一下《JavaScript高级程序设计》(书名很唬人,实际作者写的特别好,由浅入深)了解了一下JavaScript垃圾回收机制,对内存泄露有了一定的认识。和C#、Java一样JavaScript有自动垃圾回收机制,也就是说执行环境会负责管理代码执行过程中使用的内存,在开发过程中就无需考虑内存分...转载 2019-01-17 14:45:17 · 181 阅读 · 0 评论 -
浅谈一下js的垃圾回收的内容
这篇文章主要介绍了关于js的垃圾回收机制,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 垃圾回收内存管理于我们来说是自动的、不可见的。我们创建的原始类型、对象、函数等等,都会占用内存。当它们不被需要之后会发生什么?JavaScript 引擎要如何发现并清除他们?可触及(Reachability)JavaScript 内存管理的关键概念是可触及(Reachab...转载 2019-01-17 14:57:59 · 433 阅读 · 1 评论 -
Global对象和window对象
Global对象不属于任何其他对象的属性和方法,最终都是Global对象的属性和方法。如 parseFloat( )、parseInt( )、escape( )、unescape( )、isFinite( )、isNaN( )、eval( )、encodeURI()和 encodeURIComponent(),实际上全都是 Global对象的方法。所有在全局作用域中定义的属性和函数,也都是...转载 2019-05-06 17:53:32 · 2034 阅读 · 0 评论 -
如何使用chrome进行nodejs调试(干货)
首先:你的Nodejs版本必须是6.4版本以上,其次你的chrome版本必须是56或者以上的版本。我们先给chrome做一些配置 打开你的chrome 55+版本:复制:chrome://flags/#enable-devtools-experimentsPaste_Image.png启动完毕记得重启chrome。 56版本的同学: 按F12打开控制台...转载 2019-05-06 18:17:12 · 1708 阅读 · 0 评论 -
服务端渲染和客户端渲染区别?
首先,介绍一下 SPA、SEO、SSR 三者的区别SPA(single page application) 单页面应用,是前后端分离时提出的一种解决方案。 优点:页面之间切换快;减少了服务器压力; 缺点:首屏打开速度慢,不利于 SEO 搜索引擎优。 SEO(search engine optimization)搜索引擎优化,利用搜索引擎的规则提高网站在有关搜索引擎内的自然排名。 我们之...转载 2019-10-11 09:43:22 · 282 阅读 · 0 评论 -
协程概念,原理(c++和node.js实现)
协程什么是协程wikipedia 的定义:协程是一个无优先级的子程序调度组件,允许子程序在特点的地方挂起恢复。线程包含于进程,协程包含于线程。只要内存足够,一个线程中可以有任意多个协程,但某一时刻只能有一个协程在运行,多个协程分享该线程分配到的计算机资源。为什么需要协程简单引入就实际使用理解来讲,协程允许我们写同步代码的逻辑,却做着异步的事,避免了回调嵌套,使得代码逻辑清晰。code like t...转载 2018-05-28 16:34:15 · 407 阅读 · 0 评论 -
一起来拥抱强大的TypeScript吧--Ts+Vue完全教程
功能 轮播 搜索 列表 懒加载 简单动画 loading vue-router.ts vuex.ts vue-class-component使用 vuex-class使用 xxx.d.ts声明文件 基于类的编写方式 mock数据 tsconfig.json webpack配置 vue-typescript-cli完成后的简单例子基于类的写法加上静态类型检查,简直不能再嗨<script lan...转载 2018-05-06 19:33:16 · 11594 阅读 · 0 评论 -
package.json说明
package.json是什么?直接的说:就是管理你本地安装的npm包 一个package.json文件可以做如下事情:展示项目所依赖的npm包 允许你指定一个包的版本[范围] 让你建立起稳定,意味着你可以更好的与其他开发者共享创建package.json在你要创建的目录下执行:npm init,系统会一一提示设置相关配置。提示设置的字段均为必填字段(有的可以用回车键,即设置为空带过)npm in...转载 2018-03-25 12:48:56 · 396 阅读 · 0 评论 -
彻底解决Webpack打包性能问题——manifest.json
彻底解决Webpack打包性能问题Starkwang前端工程师@腾讯 / Node.js Collaborator352 人赞了该文章这几天写腾讯实习生 Mini 项目的时候用上了 react 全家桶,当然同时引入了 Webpack 作为打包工具。但是开发过程中遇到一个很棘手的问题就是,react 加上 react-router、material-ui、superagent、eventproxy ...转载 2018-03-27 17:06:59 · 19387 阅读 · 0 评论 -
Electron 的本质
本文翻译自 http://jlord.us/essential-ele...本文将简明扼要地讲解 Electron。BackgroundDevelopmentDevelopment Con'tWhat is ElectronPrereqsStay in touchWhy is this importantTwo ProcessesPut it all TogetherHow,even?Main P...转载 2018-04-22 18:17:24 · 3263 阅读 · 0 评论 -
node.js和JavaScript的关系
文章目录一、类比JavaScript和java二、翻译一段Quora回答三、浏览器端和服务器端JavaScript组成区别四、参考资料node.js是一个基于 Chrome V8 引擎的 JavaScript 运行时环境。一、类比JavaScript和javaJavaScriptjavaV8JVMnode.jsJREJavaScript和java都是一门编程语言,至于两者的关系,是雷锋和雷峰塔的关...转载 2018-04-22 18:22:43 · 871 阅读 · 0 评论 -
Retry优雅的失败重试策略
从零开始nodejs系列文章,将介绍如何利Javascript做为服务端脚本,通过Nodejs框架web开发。Nodejs框架是基于V8的引擎,是目前速度最快的Javascript引擎。chrome浏览器就基于V8,同时打开20-30个网页都很流畅。Nodejs标准的web开发框架Express,可以帮助我们迅速建立web站点,比起PHP的开发效率更高,而且学习曲线更低。非常适合小型网站,个性化网...转载 2018-04-23 18:45:13 · 3749 阅读 · 0 评论 -
node.js AES/ECB/PKCS5Padding 与其他语言的加密解密通用
关于什么是AES? 需要自己goole了解一下,今天就是简单和大家分享node.js下使用 AES/ECB/PKCS5Padding 如何与其他语言通用加密解密.就像你的接口是node.js提供服务,而第三方平台是其他服务器端语言开发,比如php ,在第三方平台请求你的接口可能需要sign验证,假设我们使用了AES/ECB/PKCS5Padding 加密.AES/ECB/PKCS5Padding...转载 2018-04-23 19:30:06 · 1627 阅读 · 0 评论 -
全面理解虚拟DOM,实现虚拟DOM
最近一两年前端最火的技术莫过于ReactJS,即便你没用过也该听过,ReactJS由业界顶尖的互联网公司facebook提出,其本身有很多先进的设计思路,比如页面UI组件化、虚拟DOM等。本文将带你解开虚拟DOM的神秘面纱,不仅要理解其原理,而且要实现一个基本可用的虚拟DOM。1.为什么需要虚拟DOMDOM是很慢的,其元素非常庞大,页面的性能问题鲜有由JS引起的,大部分都是由DOM操作引起的。如果...转载 2018-05-09 17:17:32 · 2758 阅读 · 0 评论 -
Vuex
什么是Vuex? 官方说法:Vuex 是一个专为 Vue.js应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。 个人理解:Vuex是用来管理组件之间通信的一个插件 为什么要用Vuex? 我们知道组件之间是独立的,组件之间想要实现通信,我目前知道的就只有props选项,但这也仅限于父组件和子...转载 2018-05-03 10:15:51 · 142 阅读 · 0 评论 -
前端-浅谈箭头函数的this和普通函数的this
说起胖函数的this指向这个坑我是踩了很多遍啊,说起this,我相信只要是做编程写代码的对this一定都有了解。我现在和大家说说JavaScript的胖函数的this指向和es5普通函数的this指向什么不一样吧。OK ,我理解的是ES6的箭头函数的this指向是,在哪里定义的箭头函数那么它的this就指向哪里。而ES5普通函数的this指向是,在哪里调用的函数,那么this就指向哪里。我们来看下...转载 2018-05-05 20:50:55 · 2696 阅读 · 0 评论 -
JS - Promise使用详解2(ES6中的Promise)
2015年6月, ES2015(即 ECMAScript 6、ES6) 正式发布。其中 Promise 被列为正式规范,成为 ES6 中最重要的特性之一。1,then()方法简单来讲,then 方法就是把原来的回调写法分离出来,在异步操作执行完后,用链式调用的方式执行回调函数。而 Promise 的优势就在于这个链式调用。我们可以在 then 方法中继续写 Promise 对象并返回,然后继续调用...转载 2018-05-06 18:20:48 · 204 阅读 · 0 评论 -
彻底理解js中this的指向,不必硬背
首先必须要说的是,this的指向在函数定义的时候是确定不了的,只有函数执行的时候才能确定this到底指向谁,实际上this的最终指向的是那个调用它的对象(这句话有些问题,后面会解释为什么会有问题,虽然网上大部分的文章都是这样说的,虽然在很多情况下那样去理解不会出什么问题,但是实际上那样理解是不准确的,所以在你理解this的时候会有种琢磨不透的感觉),那么接下来我会深入的探讨这个问题。 为什么要学...转载 2018-03-15 15:35:52 · 565 阅读 · 0 评论