第一章
JavaScript的实现=EcmaScript + Dom (文档对象模型)+Bom(浏览器对象模型)
浏览器是EcmaScript的宿主环境 node(服务器平台也是一种宿主环境)
Dom是针对html的编程接口,整个页面映射为多层节点结构。
第二章
现代web程序把全部JS引用放在<boby>的最后面,这样解析js前,页面内容能完全展示
第三章-----基本概念
一切都区分大小写
严格模式 “use strict”
ECMAScript的变量是松散类型的,每个变量只是用来保存值的占位符,
var message;(未经过初始化,值为undefined)
在函数中用var 定义一个变量 ,这个变量在函数退出后自动销毁;省略 var 操作符,变成全局变量;
ECMAScript 有五种简单数据类型 null undefined boolean string number 和一个复杂数据类型 object
typeof 检验给定变量的数据类型----- typeof是一个操作符 它有时候会返回一些令人迷惑的值 page24.
undefined 只有一个值 undefined 未经初始化的值默认为undefined 对违纪初始化和未定义的值使用typeof都会返回 undefined
null 只有一个值 null 从逻辑角度来看 null是一个空对象指针 typeof 对null值操作返回 object page 26有对null细致的说明
boolean 两个值 true false 两个字面值 不是数字值 true 不一定等于1 True 和 False 不是boolean 将一个值转换为Boolean值 使用转换函数 Boolean()
Number (略)Page27
string 类型 ECMAScript 对 " ' 单引号双引号没有什么区别; 把值转化为字符串 toString()方法
Object类型 var o =new Object();
操作符、语句、函数 略。。。。
第四章 变量作用域 内存问题
ECMAScript 变量包含两种类型 基本类型(简单的数据段) 和 引用类型(多个值构成的对象)
ECMAScript 所有函数参数都是按照值传递的
function setName(obj){
obj.name="Nicholas";
obj = new Object();
obj.name ="Greg";
}
var person =new Object();
setName (person;
alert(person.name); //"Nicholas" (说明是按照值传递 而不是按照引用传递)
类型检测: 在检测基本数据类型时 typeof比较好用 检测引用类型时 instanceof 操作符
alert(pattern instanceof RegExp);
===========
执行环境和作用域(这一块比较难理解) (page 73)垃圾收集 以后看
第五章 引用类型