2012-01-06

JavaScript高级程序设计读书摘要(一)

前七章:语言基础
  • JavaScript完整的实现: ECMAScript、DOM(Document Object Model)、BOM(Browser Object Model)
  • 数据类型:null、undefined、boolean、string、number、object、function
  • 字符串是值类型,且不可变
  • 函数参数:实际上为一数组,可通过 arguments 进行访问;函数调用时传参与函数声明无关;arguments.callee 指向当前的函数对象
  • JavaScript没有块级作用域,变量作用域最低层次为函数,故在两大括号代码段内声明的变量在该函数后续代码内仍可访问。
  • 数据的length属性不是只读的,可以通过设置该属性调整数组长度
  • 数组支持 push、pop、shift 等方法,从而可轻易实现栈和队列
  • Function 实际上是对象,函数名就是指向函数对象的指针,也可以理解为一变量
  • this 引用的是函数据以执行操作的对象,如果是在全局作用域下执行,则引用的是 window
  • 函数是对象,所以有属性(length、prototype、caller)和方法(apply、call)
  • 基本类型对应的包装类型:Boolean、Number、String
  • 在调用基本类型的方法或属性时,会创建基本类型对应的引用类型,然后销毁
  • 两个全局内置对象: Global、Math
  • JavaScript没有类和接口,但是支持OOP
  • JavaScript面向对象编程实际上就是利用Function是对象的特性而展开的
  • 对象的prototype相当于类的元信息,很重要,是实现继承的关键
  • 匿名函数
  • 闭包,指有权访问另一个函数作用域中的变量的函数。




No comments:

Post a Comment