摘要:
6.1 函数声明语句与匿名函数表达式 6.2 函数调用的分类 6.3 参数与局部变量 6.4 作用域 6.5 函数是一种对象 6.6 Function类 6.7 嵌套函数声明与闭包 6.8 回调函数设计模式 阅读全文
摘要:
作用域指的是名称(变量名与函数名)的有效范围。 在 JavaScript 中有以下两种作用域。 全局作用域 函数作用域 全局作用域是函数之外(最外层代码)的作用域。在函数之外进行声明的名称属于全局作用域。这些名称就是所谓的全局变量以及全局函数。 而在函数内进行声明的名称拥有的是函数作用域,它们仅在该 阅读全文
摘要:
可以通过函数声明语句与匿名函数表达式对函数进行声明。 阅读全文
摘要:
6.3.1 arguments 对象 可以通过在函数内使用 arguments 对象来访问实参。使用方式如代码清单 6.1 所示。 代码清单 6.1 使用 arguments 对象的例子 function hzh1() { console.log(arguments.length); console 阅读全文
摘要:
表6.1 函数调用的分类 名称 说明 方法调用 通过接收方对象对函数进行调用(包括apply 与call 调用) 构造函数调用 通过new 表达式对函数进行调用 函数调用 以上两种方式之外的函数调用 将以方法调用的方式使用的函数称为方法,同理,将以构造函数调用方式使用的函数称为构造函数。 函数声明语 阅读全文
摘要:
在 Function 对象中包含 apply 与 call 这两种方法,通过它们调用的函数的 this 引用,可以指向任意特定的对象。也就是说,可以理解为它们能够显式地指定接收方对象。 下面是一个使用了 apply 方法与 call 方法的例子。 // function hzh(a, b) { // 阅读全文
摘要:
this 引用是一种在 JavaScript 的代码中随时都可以使用的只读变量。在 Java 或 C++ 中也有功能类似的 this 引用。在 Java 以及 C++ 中,this 应该被看作是隐式传递的参数,而在 JavaScript 中,this 引用可以在最外层代码(函数之外)使用,所以从直觉 阅读全文
摘要:
5.12.1 不可变对象的定义 所谓不可变对象,指的是在被生成之后状态不能再被改变的对象。由于对象的状态是由其各个属性的值所决定的,因此从形式上来说也是指无法改变属性的值的对象。也有观点认为,在对象引用了另一个对象的情况下,只有当那个被引用的对象也是不可变的时候,引用了它的对象才能被称为不可变对象。 阅读全文
摘要:
在 JavaScript 的语言规范中并不存在方法这一概念。方便起见,我们将作为对象属性的函数称为方法。 var hzh = { name: "黄子涵", say: function() { console.log("黄子涵是帅哥!"); } } hzh.say(); [Running] node 阅读全文
摘要:
不再使用的对象的内存将会自动回收,这种功能称作垃圾回收。所谓不再使用的对象,指的是没有被任何一个属性(变量)引用的对象。 由 JavaScript 有着客户端程序大多运行时间很短这一历史原因,因此与其他程序设计语言相比,开发者并不太关心对象的存在生命周期。如果整个程序的生命周期就很短,相对来说就没有 阅读全文