javascript进阶知识


javascript高程3 学习笔记(三)

执行环境 执行环境是什么? javascript的解释器每次开始执行一个函数时,都会为每个函数创建一个执行环境(execution context)。 执行环境定义了变量或者函数有权访问的其他数据,决定了他们各自的行为。 与执行环境相关的变量对象(ariable ob …


javascript高程3 学习笔记(二)

ECMAScript function的理解 ECMAScript 函数与其他语言函数最大的不同在于,其不介意传入多少参数以及参数的类型 比如函数的形参有两个,但是调用函数传入的参数可以写一个,三个或不写参数(对应undefined)等,解析器都可以正常解析,这是因为 E …


Throttle, more throttle

最近 SF 好像关于 JavaScript 实现 throttle 的问题特别多。 贴几个关于 throttle/debounce 的链接: http://segmentfault.com/a/1190000000755634http://benalman.com/projects/jquery-throttle-debounce-plugin/http://www.cnblogs.com/dolphinX/p/340 …


javascript高程3 学习笔记(一)

javascript简史 微软IE和网景在浏览器上的竞争 ECMAScript,由ECMA-262定义,提供核心语言功能 `ECMA 欧洲计算机制造商协会 一个完整的Javascript的组成有 核心(ECMAScript),文档对象模型(DOM),浏览器对象模型(BOM) 在html中使用javascript​ js的 …


Javascript中bind()方法的使用与实现

在讨论bind()方法之前我们先来看一道题目: javascriptvar altwrite = document.write; altwrite(“hello”); //1.以上代码有什么问题 //2.正确操作是怎样的 //3.bind()方法怎么实现 对于上面这道题目,答案并不是太难,主要考点就是this指向的问题,alt …


JavaScript 中继承实现方式归纳

不同于基于类的编程语言,如 C++ 和 Java,JavaScript 中的继承方式是基于原型的。同时由于 JavaScript 是一门非常灵活的语言,其实现继承的方式也非常多。 首要的基本概念是关于构造函数和原型链的,父对象的构造函数称为Parent,子对象的构造函数称为C …


高性能javascript笔记

javascript加载和运行 1. 脚本位置 尽管浏览器已经允许并行下载javascript文件,但是javascript下载过程仍然会阻塞其他资源的下载,如图片。页面仍然需要等待所有javascript代码下载并执行完成才能继续所以优化javascript的首要原则:将脚本放在底部(& …


事件委托和冒泡机制

概念 事件委托,就是某个事件本来该自己干的,但是自己不干,交给别人来干。就叫事件委托。打个比方:一个button对象,本来自己需要监控自身的点击事件,但是自己不来监控这个点击事件,让自己的父节点来监控自己的点击事件。 冒泡机制,就是父节点监控 …


[译] PureScript: 一门编译到 JavaScript 的 Haskell 方言

原文: http://www.infoq.com/news/2014/09/purescript-haskell-javascript PureScript 是一门编译到 JavaScript 的强类型静态类型语言. 它的功能受到 Haskell 的激发, 并且使用 Haskell 编写, 其目标是: “编译到 JavaScript 同时保持清洁跟可读” 而且根 …


带你读Backbone源码解读之Events实现

Backbone源码解读 Backbone在流行的前端框架中是最轻量级的一个,全部代码实现一共只有1831行1。从前端的入门再到Titanium,我虽然几次和Backbone打交道但是却对它的结构知之甚少,也促成了我想读它的代码的原始动力。这个系列的文章主要目的是分享Backb …