javascript进阶知识



理解JavaScript的单线程运行机制及setTimeout(fn,0)

zccst整理 阮老师的链接:http://javascript.ruanyifeng.com/bom/timer.html 一、为什么JavaScript是单线程? JavaScript语言的一大特点就是单线程,也就是说,同一个时间只能做一件事。那么,为什么JavaScript不能有多个线程呢?这样能提高效率啊。 Ja …


JavaScript原生对象及扩展

内置对象与原生对象 内置(Build-in)对象与原生(Naitve)对象的区别在于:前者总是在引擎初始化阶段就被创建好的对象,是后者的一个子集;而后者包括了一些在运行过程中动态创建的对象。 原生对象(New后的对象) ECMA-262 把原生对象(native obj …


《javascript语言精粹》学习笔记 – 递归函数

递归函数就是会直接或者间接地调用自身的一种函数。递归是一种强大的编程技术,它把一问题分解为一组相似的子问题,每一个都用一个寻常解去解决。一般来说,一个递归函数调用自身去解决它的子问题。


You-Dont-Know-JS – 词法作用域

Lexical Scope – 词法作用域 作用域有两种常见的模型,一种叫做 词法作用域 Lexical Scope,一种叫做动态作用域 Dynamic Scope。其中词法作用域更常见,被大多数语言采用,包括javascript。 词法分析 词法分析过程Lex-time,是指系统讲源码字符串解读 …


JavaScript 依赖管理

转原文 概述 javaScript — 目录最火热的语言,到处发着光芒, html5, hybrid apps, node.js, full-stack 等等。javaScript 从一个仅仅在浏览器上面的一个玩具语言,一转眼演变成无所不能神一般的存在。但是,由于天生存在着一点戏剧性(javaScript 据传 …


JavaScript内部原理系列-变量对象(Variable object)

概要 我们总是会在程序中定义一些函数和变量,之后会使用这些函数和变量来构建我们的系统。 然而,对于解释器来说,它又是如何以及从哪里找到这些数据的(函数,变量)?当引用一个对象的时候,在解释器内部又发生了什么? 许多ECMA脚本程序员都知道 …


来点CoffeeScript吗?

简单易懂的介绍 CoffeeScript是什么? 首先,它是一门小巧的编程语言。有一本关于CoffeeScript的指南,写作“The Little Book on CoffeeScript”: 很小,是吗? 然后,它是一门JavaScript的转译语言。这个转译过程看起来像这样: .coffee的文件将 …



__defineGetter__ 引发的思考

本文在我博客上的地址,欢迎访问我的博客。 问题 那天朋友分享了一个面试题,自己当时不会,代码如下: (function(){ var u = { a: 1, b: 2 }; var r = { m: function(k){ return u[k]; } } window.r = r …