《JavaScript程序设计》—— 标准对象 Object

2017-06-17
阅读 19 分钟
1.9k
标准构造器函数Object可能是JavaScript最重要的对象之一,尽管我们从来不会直接调用它。每当使用一个对象直接量时,都会隐式调用它:

《JS编程全解》—— 回调函数

2017-06-16
阅读 3 分钟
2.3k
回调函数是程序设计的一种方法。这种方法是指,在传递了可能会进行调用的函数或对象之后,在需要时再分别对其进行调用。由于调用方与被调用方的依赖关系与通常相反,所以也成为控制反转(IoC,Inversion of Control)。由于历史原因,在JavaScript开发中我们常常会用到回调函数这一方法,这是多种因素导致的。第一个原因...

《JS高程3》—— 内存回收、垃圾收集、内存泄漏

2017-06-14
阅读 4 分钟
2.8k
JavaScript具有自动垃圾收集机制,也就是说,执行环境会负责管理代码执行中使用的内存。在C和C++语言中,开发人员一项基本任务就是手工跟踪内存的使用情况,这是造成许多问题的一个根源。在编写JavaScript程序时,开发人员不用在关心内存使用问题,所需内存的分配以及无用内存的回收完全实现了自动管理。这种垃圾收集机...

《JS高程》—— 数据属性与访问器属性

2017-06-12
阅读 9 分钟
4.6k
ECMA-262第5版在定义只有内部才用的特性(attribute)时,描述了属性(property)的各种特征。ECMA-262定义这些特性是为了实现JavaScript引擎用的,因此在JavaScript中不能直接访问它们。为了表示特性是内部值,该规范把它们放在两对儿方括号中,例如[[Enumerable]]。

JS setTimeout时间

2017-06-12
阅读 2 分钟
2k
A {代码...} B {代码...} C {代码...} 这里我抽象一下setTimeout的队列执行结构: 注意,时间设定与闭包没有关系! 当所有的非队列结构代码都执行完毕,函数调用栈清空后,这些setTimeout才会进入队列数据栈等待执行。而时间,就是按照图中那样: A: A与B的区别就是时间i*3000与3000的区别。setTimeout的定义是与正常的...

JS 闭包(closure)

2017-06-11
阅读 11 分钟
3.1k
这几天看到闭包一章,从工具书到各路大神博客,都各自有着不同的理解,以下我将选择性的抄(咳咳,当然还是会附上自己理解的)一些大神们对闭包的原理及其使用文章,当作是自己初步理解这一功能函数的过程吧。

关于前置自增和后置自增的有趣小测试

2017-06-08
阅读 1 分钟
1.8k
{代码...} 能知道为什么这样吗? 注意后面的alert,可以发现最后一个括号不论是加不加后置自增,计算结果一样,但是最后i的值改变了

JS 环境执行栈、变量对象、执行上下文

2017-06-07
阅读 3 分钟
2.1k
首先JS解释器(引擎)开始解释代码,构建执行环境栈(Execution Context Stack),并根据执行环境的不同生成不同的执行上下文(Execution Context)

JS 作用域链

2017-06-04
阅读 5 分钟
1.9k
之前学习JS函数部分时,提到了作用域这一节,但是因为使用材料书不同,今天在读博客的时候发现其实还有一个知识点即作用域链,所以来写一些个人理解和认识加深记忆。

关于JS Object.create方法

2017-06-01
阅读 1 分钟
2k
这个方法很强大,也能完成一些JS内的继承。探索ing....... {代码...}

《JavaScript程序设计》 第7章 软件构架

2017-05-29
阅读 13 分钟
2k
开发软件系统这一任务包括许多行为。必须为系统制作业务案例,必须收集、明确和整理需求,必须设计、协调、构建、测试、集成、部署和维护系统本身。软件工程领域研究的是如何执行和协调这些活动,使生成的系统正确、可靠、稳健、高效、可维护、易于理解、好用且经济节约。有趣的是,JavaScript最初是作为一种编写小型脚...

JS 正则(RegExp)

2017-05-25
阅读 6 分钟
2.9k
JavaScript RegExp 对象 :测试工具:REGEXPER 通过 new 关键词来定义 RegExp 对象。 test() test() 方法检索字符串中的指定值。返回值是 true 或 false。 {代码...} exec() exec() 方法检索字符串中的指定值。返回值是被找到的值。如果没有发现匹配,则返回 null。 {代码...} 这些是JS RegExp提供的一些方法,简单介绍...

JS setTimeout 与 setInterval

2017-05-24
阅读 2 分钟
2k
这类事件不是基于用户针对可见Web页面元素执行的行为,而是基于时间的流逝。和JavaScript中所有其他事件一样,这些时间流逝事件也是由函数处理的。

JS DOM Event

2017-05-23
阅读 13 分钟
2k
关于这一篇章有太多对于我来说杂且乱的知识点,单单是分别DOM层级划分我看过的文章就有(0,2,3)的,(0,2)的,由于自己知识掌握还很薄弱所以只能参考别人文章结合自己理解来写,这其中也涉及到一点W3C标准制定史的发展,不了解的像我这样的小白肯定会一头雾水啦。

JS attribute and prpperty

2017-05-22
阅读 1 分钟
1.3k
看得明白但是还说不顺,继续理,这里放几篇文章 JavaScript 中 Property 和 Attribute 的区别详解 [链接] [链接] HTML attribute 与 DOM property 之间的区别

JavaScript DOM

2017-05-18
阅读 11 分钟
2.9k
W3C 文档对象模型 (DOM) 是中立于平台和语言的接口,它允许程序和脚本动态地访问和更新文档的内容、结构和样式。W3C DOM 标准被分为 3 个不同的部分:

《 JavaScript程序设计》—— 第六章 事件

2017-05-17
阅读 5 分钟
1.7k
因为用户界面元素要响应事件——包括但不限于单击鼠标、鼠标移动、击键、语音与手势检测、键盘焦点改变、时间流逝、网络数据到达,所以事件驱动的系统提供一种用于指定代码的机制,再出发特定事件时执行此代码。

《 JavaScript程序设计》—— 第五章 函数总结及练习

2017-05-16
阅读 3 分钟
1.8k
调用一个函数,我们会向它的形参传送实参。多余的形参会被转换为undefined。函数可以通过return语句向调用者返回结果。如果从来没有执行过return语句,则默认返回undefined。

JavaScript—— 函数声明和函数表达式有什么不同吗?

2017-05-16
阅读 2 分钟
4.1k
这篇谈一下JS函数声明与函数表达式的区别及要注意的地方: 函数声明主要有两种类型: 函数声明 {代码...} 函数表达式 {代码...} 这两种函数创建方式有区别吗?当然有,回想一下变量声明提升,这里函数也遵循这个规则。 JS函数声明和函数表达式的区别 FunctionDeclaration(函数声明)只能出现在Program(程序)或Functio...

JavaScript——作用域、变量声明提升、局部变量混谈

2017-05-14
阅读 4 分钟
3.4k
全局作用域是函数之外(最外层代码)的作用域。在函数之外进行声明的名称属于全局作用域。这些名称就是所谓的全局变量以及全局函数。而在函数内部进行声明的名称拥有的是函数作用域,它们仅在函数内部才有效。相对于全局作用域,可以称之为局部作用域;相对于全局变量可以将其成为局部变量。作为函数形参的参数变量也属...

JavaScript——this、全局变量和局部变量混谈

2017-05-12
阅读 9 分钟
8.5k
这里定义了一个全局变量a,之后调用this.a和this。结果大家看到了。全局变量a的作用域是整个全局对象内可见,或者说变量a是全局对象的属性。不信?看下面:

JavaScript——我理解的OOP

2017-05-11
阅读 7 分钟
2k
由于函数也是值,所以可以作为对象的属性。把函数放在对象内部有两个主要理由,第一个理由是把许多相关函数放在一组。把许多函数组合到单个对象中,有助于组织和理解大型程序。人类不希望去尝试理解一个拥有数百个甚至数千个函数的系统,如果一个系统只有数十个软件组成部分,那我们理解起来会容易很多。例如,在一个游...

《 JavaScript程序设计》—— 第五章 函数

2017-05-08
阅读 22 分钟
4k
从概念上讲,函数接受输入,进行计算,然后产生输出。下图是一个函数黑盒示意图,它计算一个账户在t年之后的余额,其初始余额为p,年利率为r,每年取n次复利。要使用这个函数,只需向函数发送四个数值,并在其回应信息中获取计算所得的余额。函数的用户看不到其“内在工作”,所以我们把函数想象成黑盒子。

《 JavaScript程序设计》—— 第四章 表达式语句章总结及练习

2017-05-05
阅读 2 分钟
1.4k
我们可以将表达式的求值结果存储在变量中,在将来提取它们。变量在使用之前应当声明。如果声明中没有指定初始值,则该变量的初始值为undefined

JavaScript优先级与结合性

2017-05-05
阅读 2 分钟
3k
表达式“5 > 3 && 8 < 4 + (a = 5)”自左向右扫描。首先处理“5 > 3”(因为关系运算符“>”优先于逻辑运算符“&&”)。在关系运算符“>”两侧的5 和 3 作为数值参加关系运算,“5>3”的值为true。再进行“true && 8 < 4 + (a = 5)”的运算,“&&”左边为true,则进行它右边表达式的...

《 JavaScript程序设计》—— 第四章 表达式语句

2017-05-02
阅读 20 分钟
2.9k
这段脚本明确给出了几个变量的初始值,事实上,除response之外都有了初始值。这时候,变量response的值就是undefined。可以在一个语句中声明多个变量,可以给部分变量赋初始值。

《 JavaScript程序设计》—— 第三章 数据章 总结及练习

2017-04-28
阅读 15 分钟
3.3k
x && y 只有在x和y都为真的情况下为真。即真真为真,短路:因比较运算为左结合运算,若x为假,&&后面表达式不执行

《 JavaScript程序设计》—— 第三章 数据

2017-04-20
阅读 25 分钟
3.4k
3.1 数据类型 JavaScript实际上有6种数据类型; 布尔值,只有true和false两个值 数值,比如 81 和 4.21 文本,JavaScript里称之为字符串 特殊值undefined 特殊值null 对象 要了解一种数据类型,不仅要看它包含什么值,还要知道能对这种数据类型执行什么操作。比如,对数值可以执行四则运算,取模求幂等,对字符串可以执...

《JavaScript程序设计》—— 第二章 编程

2017-04-19
阅读 5 分钟
1.8k
2.3 程序的构成 表达式,用于计算并得到值; 变量,用于保存数据,以便将来使用; 语句,用于执行脚本的操作; 2.3.1 表达式 2 2+8.1+5 (2+8.1)* 5 9>4 9>4 && 1===2 "dog"+"house" "Hello".length "Hello".replace("e","u") [2,3,5,7,11].join("+") (function(x) {return x*5;}(8)) ...... 所谓值,有...

JavaScript编程全解 —— 基础

2017-04-17
阅读 3 分钟
2k
2.1 JavaScript特点 总结以下几个特点: 解释型语言 类似与C和Java的语法结构 动态语言 基于原型的面向对象 字面量的表现能力 函数式编程 解释型语言: 如Python、JavaScript、Perl、Shell......与之相对的就是编译型语言了,如C/C++等。但是就目前的计算机科学发展来说,很多人认为单凭从解释型与编译型两者来区分编程...