javascritp实际上由三部分组成: ECMAScript,DOM, BOM 前两者由工业标准,BOM尚比较混乱。
堆 heap 值类型
原始类型(primitive type)
Undefined: undefined (注意大小写:类型/ 值,下同)
Null: null (Undefined derived from Null)
Boolen: true/false
Number: Number.MAX_VALUE / Number.MIN_VALUE/ NaN ; isNaN()函数 (注意:新版本有变化,待查)
String:
类型转换:
Boolen()/Number()/String() **指类型名
toString(): toString(2/8/16)
intParse()/floatParse():
栈 stack 引用类型
预定义
Object:
Boolen:
Number: toFixed()
String: (略)
instanceof()
运算符
delete
void <a href="javascript:void(window.open('about:blank'))">Click me</a>
标签 label:
对象:
对象是名值对(属性和方法)的无序(区别于数组)集合
创建: new 和{ }
扩展: 向对象增加新属性(意味着在运行时修改实例!) 运算符:“.”或者“[]”
constructor:可以判断类型,不过和typeof不同,返回的是一个对象
prototype:对象的结构
属性:(变量)
作用域
var: 局部变量,即该变量作用域为最内层的函数体内
方法:(函数)
JavaScript支持首类(First-Class)函数,即将函数处理为对象。所以可以被:赋值给变量(=)、存储为数组元素、当做返回值等。
this:
简单记忆:
全局函数(页面中简单声明的函数):window
DOM事件处理程序(处理DOM事件的函数):与该事件关联的DOM元素(注意事件冒泡)
构造函数:该实例本身
理解:
通常情况下,this总是指向调用该函数的对象(所谓的“运行时确定”)
特例:apply()和call(),this指向以上两函数的参数对象
闭包:
表现形式:
定义在一个函数内部的函数
功能:
能够读取其他函数内部变量
将函数内部和函数外部连接起来
让这些变量的值始终保持在内存中
数组:
一个有序的(区别于对象)值集合,这些值可以是不同的类型
创建:new Array() 或 []