Fork me on GitHub

随笔分类 -  JS

摘要:javascript从定义到执行,JS引擎在实现层做了很多初始化工作,因此在学习JS引擎工作机制之前,我们需要引入几个相关的概念:执行环境栈、全局对象、执行环境、变量对象、活动对象、作用域和作用域链等,这些概念正是JS引擎工作的核心组件。这篇文章的目的不是孤立的为你讲解每一个概念,而是通过一个简单的demo来展开分析,全局讲解JS引擎从定义到执行的每一个细节,以及这些概念在其中所扮演的角色。 阅读全文
posted @ 2015-12-31 09:57 一像素 阅读(18563) 评论(18) 推荐(24) 编辑
摘要:闭包,是 Javascript 比较重要的一个概念,对于初学者来讲,闭包是一个特别抽象的概念,特别是 ECMAScript 规范给的定义,如果没有实战经验,很难从定义去理解它。因此,本文不会对闭包的概念进行大篇幅描述,直接上干货,让你分分钟理解闭包! 闭包,一睹为快 在接触一个新技术的时候,我首先会 阅读全文
posted @ 2015-12-21 09:14 一像素 阅读(66460) 评论(90) 推荐(209) 编辑
摘要:和其他高级语言一样 JavaScript 也有 new 操作符,我们知道 new 可以用来实例化一个类,从而在内存中分配一个实例对象。 但在 JavaScript 中,万物皆对象,为什么还要通过 new 来产生对象? 带着这个问题,我们一步步来分析和理解 new 的一些特性: 认识 new 操作符 阅读全文
posted @ 2015-12-14 09:09 一像素 阅读(27280) 评论(20) 推荐(16) 编辑
摘要:作用域 所谓作用域就是:变量在声明它们的函数体以及这个函数体嵌套的任意函数体内都是有定义的。 scope函数中定义的foo变量,除过自身可以访问以外,还可以在if语句、while语句和内嵌的匿名函数中访问。 因此,foo的作用域就是scope函数体。 在javascript中,if、while、fo 阅读全文
posted @ 2015-12-10 16:05 一像素 阅读(11264) 评论(12) 推荐(14) 编辑
摘要:在Javascript中,万物皆对象,但对象也有区别,大致可以分为两类,即:普通对象 Object 和 函数对象 Function。 一般而言,通过 new Function 产生的对象是函数对象,其他对象都是普通对象。 举例说明: f1属于函数的声明,最常见的函数定义方式,f2实际上是一个匿名函数 阅读全文
posted @ 2015-12-07 01:44 一像素 阅读(28076) 评论(16) 推荐(22) 编辑