javascript进阶知识



前端优化-Javascript篇(2.异步加载脚本)

  上篇博客说过脚本后置可以使页面更快的加载,可是这样的优化还是有限的,如果脚本需要执行一个耗时的操作,就算后置了它还是会阻塞后续脚本加载和执行并且阻塞整个页面。下面介绍非阻塞加载脚本技术也就是异步加载。


异步JavaScript与Promise

异步? 我在很多地方都看到过异步(Asynchronous)这个词,但在我还不是很理解这个概念的时候,却发现自己常常会被当做“已经很清楚”(* ̄ロ ̄)。 如果你也有类似的情况,没关系,搜索一下这个词,就可以得到大致的说明。在这里,我会对JavaScript的异步做一 …


[JavaScript 学习笔记] 2. 继承

继承 许多 OO 语言支持两种继承方式:接口继承和实现继承。接口继承只继承方法签名,而实现继承则继承实际的方法。如前所述,由于函数没有签名,在 ECMAScript 中无法实现接口继承。 ECMAScript 只支持实现继承,而且其实现继承主要是依靠原型链来实现。 …



怎样用JavaScript定义一个类

我原来的写法都是这样: function Dog(){ this.name = ‘hachi'; } Dog.prototype = { makeNoise:function(){ alert(‘wangwangwang’); } }; 后来又看到另外一种复杂一点而且看起来好像没有必要的写法: function Dog(){ var …


JavaScript算法题之–随机数的生成

(准备面试,多看点题。来自雨夜带刀’s Blog) 需求描述:从一组有序的数据中生成一组随机并且不重复的数,类似于简单的抽奖程序的实现。 先来生成一个有序的数组: var arr = [], length = 100, i = 0; for( ; i < length; i++ ){ arr.push( i …


javascript技术难点(三)之this、new、apply和call详解

4) this、new、call和apply的相关问题 讲解this指针的原理是个很复杂的问题,如果我们从javascript里this的实现机制来说明this,很多朋友可能会越来越糊涂,因此本篇打算换一个思路从应用的角度来讲解this指针,从这个角度理解this指针更加有现实意义 …


《高性能javascript》随记 – Loading and Excecution

当浏览器遇到<script>标签时,页面的加载、介些都会停下来,运行此javascript代码,然后再继续加载。这种事情同样会发生在那些以”src”属性调用的外部脚本,浏览器首先下载外部文件的代码,这要占用一些时间,然后在运行这些代码,这又要占用一些时 …


《高性能javascript》 笔记一

第一部分:关于script 当把js脚本通过script标签放在head中的时候,早期浏览器在遇到script的时候会阻止浏览器加载和渲染html。直到javascript脚本被下载并执行完,且这些javascript是依次下载和执行,不能并行。如下面这个图所示: 现代浏览器如IE8,Fire …