暂无介绍
开发者的javascript造诣取决于对【动态】和【异步】这两个词的理解水平。 一.一道考察异步知识的面试题 题目是这样的,要求写出下面代码的输出: setTimeout(()=>{ console.log(1) },0) newPromise((resolve,reject)=>{ console.log(2) for(leti=0;i<10000;i++){ i===9999&&resolve() } console.log(3) }).then(()=>{
【造轮子】是笔者学习和理解一些较复杂的代码结构时的常用方法,它很慢,但是效果却胜过你读十几篇相关的文章。为已知的API方法自行编写实现,遇到自己无法复现的部分再有针对性地去查资料,最后当你再去学习官方代码的时候,就会明白这样做的价值,总有一天,你也将有能力写出大师级的代码。 一.前端路由 现代前端开发中最流行的页面模型,莫过于SPA单页应用架
开发者的javascript造诣取决于对【动态】和【异步】这两个词的理解水平。 一.别人是开发者,你也是 Promise技术是【javascript异步编程】这个话题中非常重要的,它一度让我感到熟悉又陌生,我熟悉其所有的API并能够在编程中相对熟练地运用,却对其中原理和软件设计思想感到陌生,即便我读了很多源码分析和教程也一度很难理解为什么Promise这样一个普通的类能够实现异步,
一.箭头函数 箭头函数是ES6语法中加入的新特性,而它也是许多开发者对ES6仅有的了解,每当面试里被问到关于“ES6里添加了哪些新特性?”这种问题的时候,几乎总是会拿箭头函数来应付。箭头函数,=>,没有自己的this,arguments,super,new.target,“书写简便,没有this”在很长一段时间内涵盖了大多数开发者对于箭头函数的全部认知(当然也包括我自己),如果只是为了简化书
开发者的javascript造诣取决于对【动态】和【异步】这两个词的理解水平。 一.概述 1.1MVVM模型 MVVM模型是前端单页面应用中非常重要的模型之一,也是SinglePageApplication的底层思想,如果你也因为自己学习的速度拼不过开发框架版本迭代的速度,或许也应该从更高的抽象层次去理解现代前端开发,因为其实最核心的经典思想几乎都是不怎么变的。关于MVVM的文章已经非常多了,本
1.Virtual-DOM是什么 Virtual-DOM,即虚拟DOM树。浏览器在解析文件时,会将html文档转换为document对象,在浏览器环境中运行的脚本文件都可以获取到它,通过操作document对象暴露的接口可以直接操作页面上的DOM节点。但是DOM读写是非常耗性能的,很容易触发不必要的重绘和重排,为了更好地处理DOM操作,Virtual-DOM技术就诞生了。Virtual-DOM就是在javascript中模拟真实DOM的结构,通过数据追
目录 一.再谈从Virtual-Dom生成真实DOM 二.DOM-Diff的目的 三.DOM-Diff的基本算法描述 四.DOM-Diff的简单实现4.1期望效果 4.2DOM-Diff代码 4.3根据补丁包更新视图 小结 参考代码将上传至我的github仓库,欢迎互粉:https://github.com/dashnowords/blogs/tree/master 一.再谈从Virtual-Dom生成真实DOM 在上一篇博文《javascript基础修炼(10)——VirtualDOM和基
目录 一.概述 二.require.js2.1基本用法 2.2细说API设计 三.造轮子3.1模块加载执行的步骤 3.2代码框架 3.3关键函数的代码实现 示例代码托管在我的代码仓:http://www.github.com/dashnowords/blogs 博客园地址:《大史住在大前端》原创博文目录 华为云社区地址:【你要的前端打怪升级指南】 一.概述 许多前端工程师沉浸在使用脚手架工具的快感中,认为require.js这种前端模块化的库已经
目录 一.题目 二.解法风暴 示例代码托管在:http://www.github.com/dashnowords/blogs 博客园地址:《大史住在大前端》原创博文目录 华为云社区地址:【你要的前端打怪升级指南】 一.题目 改造下面的代码,使之输出0-9,写出你能想到的所有解法。 首先作为前端开发者,你起码得知道下面的代码会输出什么,强烈建议自己动手试试能写出多少种解法。 for(vari=0;i<10;i++){ setTimeout(
目录 一.PCM格式是什么 二.浏览器中的音频采集处理 三.需求实现方案1——服务端FFmpeg实现编码 方案2——ScriptProcessorNode手动处理数据流 参考文献 示例代码托管在:http://www.github.com/dashnowords/blogs 博客园地址:《大史住在大前端》原创博文目录 华为云社区地址:【你要的前端打怪升级指南】 本文中最重要的信息:32为浮点数表示16bit位深数据时是用-1~+1的小数来表示16位的-
webpack作为前端最火的构建工具,是前端自动化工具链最重要的部分,使用门槛较高。本系列是笔者自己的学习记录,比较基础,希望通过问题+解决方式的模式,以前端构建中遇到的具体需求为出发点,学习webpack工具中相应的处理办法。(本篇中的参数配置及使用方式均基于webpack4.0版本) 本篇摘要: 本篇主要介绍基于webpack4.0的splitChunks分包技术。 [TOC] 一.Js模块化开发 javasc
前面的话 javascript函数的参数与大多数其他语言的函数的参数有所不同。函数不介意传递进来多少个参数,也不在乎传进来的参数是什么数据类型,甚至可以不传参数。本文是深入理解javascript函数系列第二篇——函数参数 arguments javascript中的函数定义并未指定函数形参的类型,函数调用也未对传入的实参值做任何类型检查。实际上,javascript函数调用
了解JavaScript的内存泄露和解决方式! 在这篇文章中我们将要探索客户端JavaScript代码中常见的一些内存泄漏的情况,并且学习如何使用Chrome的开发工具来发现他们。读一读吧! 介绍 内存泄露是每个开发者最终都不得不面对的问题。即便使用自动内存管理的语言,你还是会碰到一些内存泄漏的情况。内存泄露会导致一系列问题,比如:运行缓慢,崩溃,高延迟,甚至
JavaScript设计模式基础(一) 原型模式 在以类为中心的面向对象编程语言中,类和对象的关系就像铸模和铸件的关系,对象总是从类中创建。而原型编程中,类不是必须的,对象未必从类中创建而来,可以拷贝另一个对象而变成新对象 从设计模式角度讲,原型模式是用于创建对象的一种模式,找到一个对象,不需要关心对象的具体类型,通过克隆来创建一个一模一样的对象。原
模式的起源 模式起源于建筑学。20世纪70年代,哈佛大学建筑学博士ChristopherAlexander和他的团队花大约20年,来研究为解决同一个问题而设计出的不同建筑结构,从中发现那些高质量设计中的相似性,并且用模式来指代这种相似性; JavaScript是一门面向对象语言[1][2][3],设计模式通过对面向对象的特征封装、继承、组合、多态等技术的反复使用,提炼出可复用的面向对象设计技