首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
研磨JavaScript系列(四):代码的时空
】的更多相关文章
研磨JavaScript系列
JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言.同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作.它最初由网景公司(Netscape)的Brendan Eich设计,是一种动态.弱类型.基于原型的语言,内置支持类.JavaScript是Sun公司的注册商标.Ecma国际以JavaScript为基础制定了ECMAScript标准.JavaScript也可以用于其他场合,如服务器端编程.完整的JavaScript实…
研磨JavaScript系列(一):回归简单
想要理解JavaScript,你得首先放下对象和类的概念,回到数据和代码的本原.编程世界只有数据和代码两种基本元素,而这两种元素又有着纠缠不清的关系.JavaScript就是把数据和代码都简化到最原始的程度. JavaScript中的数据是很简单的.简单数据只有undefined.null.boolean.number和string这5种,而复杂数据只有一种,也就是object. JavaScript中的代码只体现为一种形式,那就是function. 注意:以上单词均为小写的,不要和Number…
研磨JavaScript系列(四):代码的时空
对于过程式编程来说,代码执行的时间与数据标识的空间是密不可分的.我们只有把指令执行的具体时刻与标识映射的具体地址结合起来,才能确定程序在执行瞬间的上下文状态.于是,代码时刻与数据标识的结构,就形成了作用域的概念.在一个作用域中的上下文状态,对于另一个作用域来说是不适用的. 当定义了一个个标识符,写下一条条语句时,我们只得到了程序的一个静态映像.还必须把这些元素放到动态的作用域环境去思考,才能理解整个程序的运行世界.下面我们来讨论一下JavaScript的作用域. 任何程序都会在一个原始的环境中开…
研磨JavaScript系列(五):奇妙的对象
在JavaScript中,只有object和function两种东西有对象化的能力.我们先来说说函数的对象化能力. 任何一个函数都可以为其动态地添加或去除属性,这些属性可以是简单类型,可以是对象,也可使其他的函数.也就是说,函数具有对象的全部特征,完全可以把函数当对象来用.其实,函数就是对象,只不过比一般的对象多了一个括号"()"操作符,这个操作符用来执行函数的逻辑,即函数本身还可以被调用,一般对象不可以被调用.除此之外,完全相同. <script type="text…
研磨JavaScript系列(三):函数的魔力
JavaScript的代码中就只有function一种形式,function就是函数的类型.在其他的编程语言中可能还存在Procedure或者是method等代码概念,在JavaScript中只有function这一种形式.当我们写下一个函数的时候,只不过是建立了一个function类型的实体而已. <script type="text/javascript"> function myFunc(){ alert("hello"); } alert(typ…
研磨JavaScript系列(二):没有类
object就是对象的类型.在JavaScript中不管多么复杂的数据和代码.都可以组织成object形式的对象. 但JavaScript没有"类"概念. 看下面这段JavaScript代码: <script type="text/javascript"> var life = {}; //光溜溜的生命对象 for(life.age = 1; life.age <= 3; life.age++){ switch(life.age){ case 1:…
深入理解JavaScript系列(1):编写高质量JavaScript代码的基本要点
深入理解JavaScript系列(1):编写高质量JavaScript代码的基本要点 2011-12-28 23:00 by 汤姆大叔, 139489 阅读, 119 评论, 收藏, 编辑 才华横溢的Stoyan Stefanov,在他写的由O'Reilly初版的新书<JavaScript Patterns>(JavaScript模式)中,我想要是为我们的读者贡献其摘要,那会是件很美妙的事情.具体一点就是编写高质量JavaScript的一些要素,例如避免全局变量,使用单变量声明,在循环中预缓存…
JavaScript 系列博客(四)
JavaScript 系列博客之(四) 前言 本篇介绍 JavaScript 中的对象.在第一篇博客中已经说到 JavaScript 是一种''对象模型''语言.所以可以这样说,对象是 JavaScript 语言的核心概念,也是最重要的数据类型. 概述 生成方法 在 JavaScript 中声称对象相当方便,直接定义一个空字典就 ok.想要添加属性或者方法的话可以在定义结束之后动态添加.注意:对象时无序的复合数据集合. 上面代码中,大括号就可以直接定义一个对象,被赋值给变量 a,所以 a 就指向…
深入理解JavaScript系列(46):代码复用模式(推荐篇)
介绍 本文介绍的四种代码复用模式都是最佳实践,推荐大家在编程的过程中使用. 模式1:原型继承 原型继承是让父对象作为子对象的原型,从而达到继承的目的: function object(o) { function F() { } F.prototype = o; return new F(); } // 要继承的父对象 var parent = { name: "Papa" }; // 新对象 var child = object(parent); // 测试 console.log(c…
深入理解JavaScript系列(45):代码复用模式(避免篇)
介绍 任何编程都提出代码复用,否则话每次开发一个新程序或者写一个新功能都要全新编写的话,那就歇菜了,但是代码复用也是有好要坏,接下来的两篇文章我们将针对代码复用来进行讨论,第一篇文避免篇,指的是要尽量避免使用这些模式,因为或多或少有带来一些问题:第二排是推荐篇,指的是推荐大家使用的模式,一般不会有什么问题. 模式1:默认模式 代码复用大家常用的默认模式,往往是有问题的,该模式使用Parent()的构造函数创建一个对象,并且将该对象赋值给Child()的原型.我们看一下代码: function i…